OLSR problem with RC2



  • I've got RC2 installed on a couple of test systems.  I had OLSR working between the two following the upgrade when I only announced one subnet to the other.  I didn't see an easy way to announce multiple dynamic subnets from the GUI, but determined that the format:

    net1 mask1 / net2 mask2

    …faked it into submission.

    This worked for several minutes, but after restarting the node that was announcing the two subnets, OLSR didn't come back up in the same way it was running before.  The "Main Address" variable changed to a different interface's IP address.  Previously, the "Main address" was the IP of the interface that was on the same subnet as the opposite node.  Now, the "Main address" was the IP of one of the interfaces that was NOT on the same subnet as the opposite node.

    The symptoms this showed were two-fold:

    1. The node that announced both subnets still showed the opposing node in the topology display, indicating that some degree of OLSR was working on both nodes
    2. The opposing node simply never had any routes added to it's routing table.  It didn't even indicate the node announcing two routes existed in it's topology display.

    This obviously didn't produce anything that was usable.  I checked the OLSR logs on both systems, and nothing indicated it was having a problem.  The daemon was running on both systems, bound to the proper interfaces.  The config display for both nodes looked correct in the web interface for OLSR, with the exception of the "Main address" not being on the interface that previously worked.

    This brings up my questions.  One, I wouldn't think the "Main address" would matter much, as long as OLSR was bound to the correct interfaces...so wouldn't it broadcast routes on any interface to which it was bound?  Two, how is the "Main address" determined since there is no option to define that in the GUI and it seems to change somewhat at random?  Three, is there a better way to announce multiple routes via the current GUI than the method I outlined above?

    I can do any testing a dev wishes, but unfortunately, I'm not a programmer.  Anyone need anything else to figure out how to fix this?



  • ..faked it into submission.

    Good to know.  I couldn't figure out how to enter multiple HNA/route announcements in the gui, and this is a MUST most networks, so I was forced to use my own olsrd.conf (starting olsrd with a boot shell script and passing the path of my own olsrd.conf as a parameter).  In the olsr gui bounty thread "multiple route announcement" was requested but I didn't know how to type them in properly it appears.

    The "Main Address" variable changed to a different interface's IP address …
    how is the "Main address" determined since there is no option to define that in the GUI and it seems to change somewhat at random?

    I also needed the ability to choose my "Main Address" but the gui doesn't have a setting for this, so yet another reason I had use my own olsrd.conf.
    In the olsrd.conf, simply place the "Main Address" interface settings first before the other interfaces.

    so wouldn't it broadcast routes on any interface to which it was bound

    It broadcasts routes to alternate interfaces as "MID" announcements.  Pure olsr use questions should probably be asked on the olsr mailing list...
    http://www.olsr.org/pipermail/olsr-users/
    I'm just delving into MID.  Tomorrow I plan to try and get two of my wireless olsr nodes, which just so happen to be on the same LAN, to choose to communicate with each other via LAN instead of wireless.  You can force this by adding "Weight 2" to the olsrd.conf lan interface settings, but if the lan goes down, in my experiments this far, it seems to create a "black hole" and not revert back to wireless communication.  I'm not sure what to do about this yet.
    -Pete



  • Have you found OLSR to be stable in pfSense?  I'm just asking because I'd like a way to monitor it and restart it if it stops running on a node.  I'll probably proceed with your method of a custom config file and starting it via a shell script.



  • @pcatiprodotnet:

    ..faked it into submission.

    Good to know.  I couldn't figure out how to enter multiple HNA/route announcements in the gui, and this is a MUST most networks, so I was forced to use my own olsrd.conf (starting olsrd with a boot shell script and passing the path of my own olsrd.conf as a parameter).  In the olsr gui bounty thread "multiple route announcement" was requested but I didn't know how to type them in properly it appears.

    The "Main Address" variable changed to a different interface's IP address …
    how is the "Main address" determined since there is no option to define that in the GUI and it seems to change somewhat at random?

    I also needed the ability to choose my "Main Address" but the gui doesn't have a setting for this, so yet another reason I had use my own olsrd.conf.
    In the olsrd.conf, simply place the "Main Address" interface settings first before the other interfaces.

    so wouldn't it broadcast routes on any interface to which it was bound

    It broadcasts routes to alternate interfaces as "MID" announcements.  Pure olsr use questions should probably be asked on the olsr mailing list...
    http://www.olsr.org/pipermail/olsr-users/
    I'm just delving into MID.  Tomorrow I plan to try and get two of my wireless olsr nodes, which just so happen to be on the same LAN, to choose to communicate with each other via LAN instead of wireless.  You can force this by adding "Weight 2" to the olsrd.conf lan interface settings, but if the lan goes down, in my experiments this far, it seems to create a "black hole" and not revert back to wireless communication.  I'm not sure what to do about this yet.
    -Pete

    Please gather up a final change set for OLSR and I will make the changes.



  • Have you found OLSR to be stable in pfSense?
    So far, when I am running olsr on just one interface per node, yes; very stable.  I have had pfSense olsr nodes up and running for weeks.  However, when I try to add additional interfaces (e.g. lan, opt1) to olsr, and depending upon the pfSense version I'm running, I get one of these results: 1. works for a few days but then becomes sluggish until reboot. 2. the node comes up but causes other nodes around it to become unresponsive; reboot works for a minute then unresponsive again.  I'm still trying to figure this one out.

    Please gather up a final change set for OLSR and I will make the changes.
    Slowly but surely.  Soo busy.

    Thanks, -Pete



  • It would be nice to select what OLSR calls the "Main Interface" from the pfSense GUI.  All that needs done there is put that interface's config in the olsrd.conf file first.

    In addition:

    1. Making changes to the OLSR config from the GUI kills the running OLSRD process on first click, but clicking save again restarts it
    2. It might be nice to make the "Announce Dynamic local route" field a multi-line field so people don't have to use my hack to announce more than one subnet via OLSR


  • I have created a ticket for OLSR and remaining issues.  Please update.

    No new features should be listed, only real bugs or issues such as the text field size being too small, etc.

    http://cvstrac.pfsense.com/tktview?tn=1071,0



  • Understood.  Thanks.

    Let me know if you need further comments.  I can explain more verbosely, but I try to keep life simple.  ;D



  • I added #3 to the ticket, but I'll post here just so others see it in conjunction with the first two:

    1. When "Enable Dynamic Gateway" is selected, the olsr.conf file that is generated tries to load the secure plugin.  If no security key exists (ie. the file is empty), olsrd fails to start.

Locked