<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi,<br>
      <br>
      I just verified again.<br>
      The ! route problem seems to occur during startup of a host.<br>
      The two hosts are literally kept next to each other. <br>
      10.0.0.1 is the gateway to the internet.<br>
      <br>
      Below is the routing table for host 10.0.0.3<br>
      <br>
      $ route<br>
      Kernel IP routing table<br>
      Destination     Gateway         Genmask         Flags Metric
      Ref    Use Iface<br>
      10.0.0.0        *               255.255.255.0   U     0     
      0        0 wlan1<br>
      10.0.0.0        -               255.255.255.0   !     -1    
      -        0 -<br>
      10.0.0.1        -               255.255.255.255 !H    -1    
      -        0 -<br>
      192.168.0.0     -               255.255.255.0   !     -1    
      -        0 -<br>
      192.168.0.7     -               255.255.255.255 !H    -1    
      -        0 -<br>
      <br>
      <br>
      For this particular test, 10.0.0.3 was up and running first and
      then after a few minutes I started 10.0.0.1<br>
      Both are configured as ad-hoc networks<br>
      I restarted the babeld service multiple times on 10.0.0.1 but the
      routing table of 10.0.0.3 won't fix.<br>
      After I restart babeld service on 10.0.0.3, routes are fine.<br>
      <br>
      -----------<br>
      <br>
      Also I verified that<br>
      -C 'redistribute proto 3 allow'<br>
      works as intended, but only after I restart the babeld service on
      10.0.0.3 after which all the routes were set correctly.<br>
      <pre wrap="">Thanks,
Regards,
</pre>
      <br>
      <br>
      On Wednesday 08 January 2014 04:43 PM, Harshal Vora wrote:<br>
    </div>
    <blockquote cite="mid:52CD32CD.7070505@amideeptech.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Hi Matthieu, Thanks for the reply.<br>
        My reply inline.<br>
        <br>
        <br>
        On Wednesday 08 January 2014 04:11 PM, Matthieu Boutier wrote:<br>
      </div>
      <blockquote
cite="mid:CD5BEFBB-F704-45A2-BB0F-489E34CCBF5A@pps.univ-paris-diderot.fr"
        type="cite">
        <blockquote type="cite">
          <pre wrap="">But on few occasions, it inserts negative routes with Flag set to !H and metric set to -1 for hosts which are in direct range of each other.
</pre>
        </blockquote>
        <pre wrap="">I don't know what is "!", perhaps "unreachable". This seems (for the moment) quite normal : you're moving, so the metric changes (it will increase at some point), and at some point, you will be out of feasible routes. Babel then must consider that the node has failed, and set the route as unreachable to avoid some routing loops. It is well explained in the 2.8 paragraph of the RFC :
        <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.ietf.org/rfc/rfc6126.txt">http://www.ietf.org/rfc/rfc6126.txt</a></pre>
      </blockquote>
      <br>
      <blockquote>
        <blockquote>
          <div align="justify">! is "Reject Route" as mentioned here. <a
              moz-do-not-send="true" class="moz-txt-link-freetext"
              href="http://unixhelp.ed.ac.uk/CGI/man-cgi?route+8">http://unixhelp.ed.ac.uk/CGI/man-cgi?route+8</a><br>
          </div>
          I agree with you that if the route is unreachable then babel
          must consider that the node has failed. <br>
          But this happened even when the hosts were kept stationary
          near to each other.<br>
          <br>
          The RFC mentions<br>
          <pre><b>the time for which such a route
   must be maintained should be the worst-case propagation time of the
   retraction of the route to C.</b>

Is there any value for this then I can  try waiting for so long the next time
</pre>
        </blockquote>
      </blockquote>
      <blockquote
cite="mid:CD5BEFBB-F704-45A2-BB0F-489E34CCBF5A@pps.univ-paris-diderot.fr"
        type="cite">
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap="">These negative routes remain persistent until i restart babeld and sometimes until i reboot the host.
</pre>
        </blockquote>
        <blockquote type="cite">
          <pre wrap="">Shouldn't it be auto-corrected?
</pre>
        </blockquote>
        <pre wrap="">It should. How many time before reboot ?</pre>
      </blockquote>
      <br>
      <blockquote>
        <blockquote>I waited for approximately 2-3 minutes before
          reboot. In the mean time I was restarting babeld<br>
          Also I enabled level 3 logs for babeld. I could see requests
          coming in from the hosts for which there were unreachable
          routes.<br>
        </blockquote>
      </blockquote>
      <blockquote
cite="mid:CD5BEFBB-F704-45A2-BB0F-489E34CCBF5A@pps.univ-paris-diderot.fr"
        type="cite">
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap="">Is there any way to fix this?
</pre>
        </blockquote>
        <pre wrap="">What version (or commit) are you using ? Which OS ?</pre>
      </blockquote>
      <br>
      <blockquote>
        <blockquote>This happened in two different hosts (Both arm
          processors,  babeld   v. 1.3.1-1 from apt-get)<br>
          1) Hackberry <br>
                          kernel: linux-sunxi-v3.4.24-r1<br>
                          OS: Ubuntu 12.10  -- <code><a
              moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cdimage.ubuntu.com/ubuntu-core/releases/12.10/release/ubuntu-core-12.10-core-armhf.tar.gz">http://cdimage.ubuntu.com/ubuntu-core/releases/12.10/release/ubuntu-core-12.10-core-armhf.tar.gz</a></code><br>
          <br>
          2) Raspberry pi Model B<br>
                  Kernel: rasppi_linux_rpi-3.6.y<br>
                  OS: raspbian<br>
        </blockquote>
      </blockquote>
              <br>
      <blockquote
cite="mid:CD5BEFBB-F704-45A2-BB0F-489E34CCBF5A@pps.univ-paris-diderot.fr"
        type="cite">
        <blockquote type="cite">
          <pre wrap="">Also, is it possible to redistribute routes added with proto kernel or boot?
</pre>
        </blockquote>
        <pre wrap="">Yes. Proto boot is avoided by default, so you must add a configuration line, as :
        redistribute proto 3 allow</pre>
      </blockquote>
      <br>
      <blockquote>
        <blockquote>I will give it a try. Thanks.<br>
          From the file /etc/iproute2/rt_protos<br>
          <br>
          2       kernel<br>
          3       boot<br>
          4       static<br>
          <br>
          Thus I assume 3 will enable routes enabled by boot protocol<br>
        </blockquote>
      </blockquote>
      <br>
      <blockquote
cite="mid:CD5BEFBB-F704-45A2-BB0F-489E34CCBF5A@pps.univ-paris-diderot.fr"
        type="cite">
        <pre wrap="">
Best regards,
Matthieu

</pre>
      </blockquote>
      <br>
      <br>
      Regards,<br>
    </blockquote>
    <br>
  </body>
</html>