[Olsr-dev] olsrd + bmf plugin

Erik Tromp (spam-protected)
Thu Mar 17 16:45:44 CET 2011


In my test distro, this setting is already 0 by default:

# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
0

Anyway thanks for the tip, I will add it to the documentation.

Then for the broadcast ping....

First, you should use the '-b' option of 'ping', e.g.
# ping -b 10.0.6.255

but of course you already knew that.

Then, for IP local broadcast to work for packets originating from within the
OLSR network, you must at least add the "CapturePacketsOnOlsrInterfaces"
option to your olsrd.conf file:

LoadPlugin  "olsrd_bmf.so.1.7.0"
{
    PlParam "CapturePacketsOnOlsrInterfaces" "yes"
}

And yes, I agree, this is documented somewhat cryptically. Or, to put it
better, this is not documented at all. I will also add this to the
documentation.

Finally, I discovered there is a bug in BMF regarding the use of IP local
broadcast: it appears that IP local broadcast packets captured on an
OLSR-enabled network interface are not always forwarded where they should
be. This happens on nodes which have not been selected as an MPR. A little
technical... but I am currently trying to create a fix for this.

I used IP local broadcast only in setups where the broadcast packets
originated from outside of the OLSR network, where the packets needed to be
transferred through the network and then re-transmitted on all non-OLSR
interfaces. Your setup is different but of course must also be made working.

I'll keep you updated.

Thanks,
Erik



-----Oorspronkelijk bericht-----
Van: (spam-protected) [mailto:(spam-protected)] Namens Vincent
Nuttin
Verzonden: woensdag 16 maart 2011 10:26
Aan: Erik Tromp
CC: (spam-protected)
Onderwerp: Re: [Olsr-dev] olsrd + bmf plugin

Hello :-)

No. The ping did not work.

(spam-protected) ~ # ping 224.0.0.1
PING 224.0.0.1 (224.0.0.1): 56 data bytes ^C
--- 224.0.0.1 ping statistics ---
45 packets transmitted, 0 packets received, 100% packet loss

The only way I found to make them work is to add these line :
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
(source : http://kerneltrap.org/node/16225)

Then, my ping is ok :

(spam-protected) ~ # ping 224.0.0.1
PING 224.0.0.1 (224.0.0.1): 56 data bytes
64 bytes from 10.0.0.3: seq=0 ttl=64 time=5.601 ms
64 bytes from 10.0.0.3: seq=1 ttl=64 time=1.900 ms
64 bytes from 10.0.0.1: seq=1 ttl=64 time=26.162 ms (DUP!)
64 bytes from 10.0.0.3: seq=2 ttl=64 time=1.728 ms
64 bytes from 10.0.0.3: seq=3 ttl=64 time=1.727 ms
64 bytes from 10.0.0.1: seq=3 ttl=64 time=36.413 ms (DUP!)
64 bytes from 10.0.0.3: seq=4 ttl=64 time=1.727 ms
64 bytes from 10.0.0.1: seq=4 ttl=64 time=16.251 ms (DUP!)
64 bytes from 10.0.0.3: seq=5 ttl=64 time=1.726 ms
64 bytes from 10.0.0.1: seq=5 ttl=64 time=36.783 ms (DUP!) ^C
--- 224.0.0.1 ping statistics ---
6 packets transmitted, 6 packets received, 4 duplicates, 0% packet loss
round-trip min/avg/max = 1.726/13.001/36.783 ms

Is it normal ?!? (It is not written in the doc of olsrd-bmf ... :-/)

Now, I will try with my UDP packets over my mesh network..
I will come back to you soon !

Thanks

2011/3/15 Erik Tromp <(spam-protected)>:
> Hi Vincent,
>
> Could you try to ping to 224.0.0.1 ? You should receive an answer from 
> all your nodes, like this:
>
> (spam-protected):~# ping 224.0.0.1
> PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.
> 64 bytes from 192.168.151.50: icmp_seq=1 ttl=64 time=0.511 ms
> 64 bytes from 192.168.151.53: icmp_seq=1 ttl=64 time=4.67 ms (DUP!)
> 64 bytes from 192.168.151.55: icmp_seq=1 ttl=63 time=10.7 ms (DUP!)
> 64 bytes from 192.168.151.50: icmp_seq=2 ttl=64 time=0.076 ms
> 64 bytes from 192.168.151.53: icmp_seq=2 ttl=64 time=1.23 ms (DUP!)
> 64 bytes from 192.168.151.55: icmp_seq=2 ttl=63 time=1.23 ms (DUP!) . 
> . .
>
> (your IP addresses will of course be different)
>
> Does that work? Could you send the output?
>
> --Erik
>
>
> -----Oorspronkelijk bericht-----
> Van: (spam-protected)
> [mailto:(spam-protected)] Namens Vincent Nuttin
> Verzonden: dinsdag 15 maart 2011 21:36
> Aan: (spam-protected)
> Onderwerp: [Olsr-dev] olsrd + bmf plugin
>
> Hi all !
>
> I'm running the version 0.6.0 of olsrd on multiple Neo FreeRunner...
> The "basics" of olsrd run fine; I mean, olsrd builds a network 
> topology and so on. I can "ping" any device from all of them...
> everything is fine.
>
> Then, I want to use broadcast messages. I read in the documentation 
> that the BMF plugin is fine for that. I installed it on my devices 
> but, it does not forward anything... The best example is the one with
three devices :
> "N1" can see "N2". "N2" can see "N3" but "N1" and "N3" have no direct 
> route to each other (i.e they must use "N2" in the middle). When "N1"
> sends a broadcast UDP packet to 10.255.255.255, I want "N2" to receive 
> it (this part is OK ;-) and I also want "N2" to forward it to "N3"...
>
> My olsrd.conf file is here :
> http://www.geosharing-project.org/files/public/olsrd.conf
>
> Do you have any idea ?
> Thanks a lot,
>
> Vincent
>
> --
> Olsr-dev mailing list
> (spam-protected)
> http://lists.olsr.org/mailman/listinfo/olsr-dev
>
>



--
Vincent Nuttin
+32 474 48 43 52





More information about the Olsr-dev mailing list