[Olsr-cvs] olsrd-current/lib/bmf Makefile, 1.2, 1.3 README_BMF.txt, 1.2, 1.3

Bernd Petrovitsch (spam-protected)
Sun Apr 22 19:40:40 CEST 2007


Update of /cvsroot/olsrd/olsrd-current/lib/bmf
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10087/lib/bmf

Modified Files:
	Makefile README_BMF.txt 
Log Message:
* bmf-plugin 1.4

Index: Makefile
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/lib/bmf/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Makefile	10 Feb 2007 17:05:55 -0000	1.2
--- Makefile	22 Apr 2007 17:40:38 -0000	1.3
***************
*** 32,40 ****
  # POSSIBILITY OF SUCH DAMAGE.
  #
- # $Id$
  
  OLSRD_PLUGIN =	true
  PLUGIN_NAME =	olsrd_bmf
! PLUGIN_VER =	1.3
  
  TOPDIR = ../..
--- 32,39 ----
  # POSSIBILITY OF SUCH DAMAGE.
  #
  
  OLSRD_PLUGIN =	true
  PLUGIN_NAME =	olsrd_bmf
! PLUGIN_VER =	1.4
  
  TOPDIR = ../..

Index: README_BMF.txt
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/lib/bmf/README_BMF.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** README_BMF.txt	10 Feb 2007 17:05:55 -0000	1.2
--- README_BMF.txt	22 Apr 2007 17:40:38 -0000	1.3
***************
*** 1,5 ****
  BASIC MULTICAST FORWARDING PLUGIN FOR OLSRD
  by Erik Tromp ((spam-protected), (spam-protected))
! Version 1.3
  
  1. Introduction
--- 1,5 ----
  BASIC MULTICAST FORWARDING PLUGIN FOR OLSRD
  by Erik Tromp ((spam-protected), (spam-protected))
! Version 1.4
  
  1. Introduction
***************
*** 18,22 ****
  ---------------------------
  
! Download the olsr-bmf-v1.3.tar.gz file and save it into your OLSRD
  base install directory.
  
--- 18,22 ----
  ---------------------------
  
! Download the olsr-bmf-v1.4.tar.gz file and save it into your OLSRD
  base install directory.
  
***************
*** 25,29 ****
  At the command prompt, type:
  
!   tar -zxvf ./olsr-bmf-v1.3.tar.gz
  
  then type:
--- 25,29 ----
  At the command prompt, type:
  
!   tar -zxvf ./olsr-bmf-v1.4.tar.gz
  
  then type:
***************
*** 48,52 ****
  to load the BMF plugin. For example, add the following lines:
  
!   LoadPlugin "olsrd_bmf.so.1.3"
    {
      # No PlParam entries required for basic operation
--- 48,52 ----
  to load the BMF plugin. For example, add the following lines:
  
!   LoadPlugin "olsrd_bmf.so.1.4"
    {
      # No PlParam entries required for basic operation
***************
*** 65,70 ****
  
    ---------- Plugin loader ----------
!   Library: olsrd_bmf.so.1.3
!   OLSRD Basic Multicast Forwarding plugin 1.3 (Dec 18 2006 11:23:51)
      (C) Thales Communications Huizen, Netherlands
      Erik Tromp ((spam-protected))
--- 65,70 ----
  
    ---------- Plugin loader ----------
!   Library: olsrd_bmf.so.1.4
!   OLSRD Basic Multicast Forwarding plugin 1.4 (Mar 30 2007 14:30:57)
      (C) Thales Communications Huizen, Netherlands
      Erik Tromp ((spam-protected))
***************
*** 85,89 ****
    
    ping 224.0.0.1
!     
  All OLSR-BMF hosts in the OLSR network should respond. For example,
  assume we have three hosts, with IP addresses 192.168.151.50,
--- 85,89 ----
    
    ping 224.0.0.1
! 
  All OLSR-BMF hosts in the OLSR network should respond. For example,
  assume we have three hosts, with IP addresses 192.168.151.50,
***************
*** 92,96 ****
  
  (spam-protected):~# ping 224.0.0.1
! PING 224.0.0.1 (224.0.0.1) from 192.168.151.50 eth1: 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!)
--- 92,96 ----
  
  (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!)
***************
*** 111,114 ****
--- 111,130 ----
  other hosts (correctly seen as DUPlicates by ping).
  
+ Note: when using an older version of ping than the standard from
+ iputils-20020927, as found in most current Linux distributions, you may want
+ to test BMF by specifying the output interface to the ping command:
+ 
+   ping -I bmf0 224.0.0.1
+ 
+ Older versions of 'ping' (e.g. as found in iputils-20020124) may bind to the
+ autoselected source address, which may be incorrect. Since BMF re-uses
+ one of the existing IP addresses for the "bmf0" network interface, the
+ older-version ping command may 'autobind' to the wrong interface.
+ 
+ See also the note in the iputils-20020927/RELNOTES file:
+ "* Mads Martin Jørgensen <(spam-protected)>: ping should not bind to autoselected
+   source address, it used to work when routing changes. Return classic
+   behaviour, option -B is added to enforce binding."
+ 
  
  5. How does it work
***************
*** 174,178 ****
  configured:
  
!   LoadPlugin "olsrd_bmf.so.1.3"
    {
      # Specify the name of the BMF network interface.
--- 190,194 ----
  configured:
  
!   LoadPlugin "olsrd_bmf.so.1.4"
    {
      # Specify the name of the BMF network interface.
***************
*** 206,209 ****
--- 222,234 ----
      PlParam "CapturePacketsOnOlsrInterfaces" "yes"
  
+     # The forwarding mechanism to use. Either "Broadcast" or
+     # "UnicastPromiscuous". Defaults to "Broadcast".
+     # In the "UnicastPromiscuous" mode, packets are forwarded (unicast) to the
+     # best candidate neighbor; other neighbors listen promiscuously. IP-local
+     # broadcast is not used. This saves air time on 802.11 WLAN networks,
+     # on which unicast packets are usually sent at a much higher bit rate
+     # than broadcast packets (which are sent at a basic bit rate).
+     PlParam "BmfMechanism" "UnicastPromiscuous"
+ 
      # List of non-OLSR interfaces to include
      PlParam     "NonOlsrIf"  "eth2"
***************
*** 310,314 ****
  of /etc/olsrd.conf. For example:
  
!   LoadPlugin "olsrd_bmf.so.1.3"
    {
      # Non-OLSR interfaces to participate in the multicast flooding
--- 335,339 ----
  of /etc/olsrd.conf. For example:
  
!   LoadPlugin "olsrd_bmf.so.1.4"
    {
      # Non-OLSR interfaces to participate in the multicast flooding
***************
*** 368,372 ****
  For example:
  
!   LoadPlugin "olsrd_bmf.so.1.3"
    {
        PlParam "BmfInterfaceIp" "10.10.10.4/24"
--- 393,397 ----
  For example:
  
!   LoadPlugin "olsrd_bmf.so.1.4"
    {
        PlParam "BmfInterfaceIp" "10.10.10.4/24"
***************
*** 437,442 ****
  situation that some hosts in the network cannot directly see other hosts
  (as 1-hop neighbors) but only indirectly (as 2- or more-hop neighbors).
! To simulate that situation, the iptables tool is often used. For BMF,
! however, that is nog enough.
  
  For OLSR testing, setup iptables on each host to drop packets from
--- 462,467 ----
  situation that some hosts in the network cannot directly see other hosts
  (as 1-hop neighbors) but only indirectly (as 2- or more-hop neighbors).
! To simulate that situation, the iptables tool is often used (see
! www.netfilter.org). For BMF, however, that is nog enough.
  
  For OLSR testing, setup iptables on each host to drop packets from
***************
*** 454,458 ****
  interfaces if they are in promiscuous mode.) For example:
  
!   LoadPlugin "olsrd_bmf.so.1.3"
    {
      # Drop all packets received from the following MAC sources
--- 479,483 ----
  interfaces if they are in promiscuous mode.) For example:
  
!   LoadPlugin "olsrd_bmf.so.1.4"
    {
      # Drop all packets received from the following MAC sources
***************
*** 462,465 ****
--- 487,492 ----
    }
  
+ See also the notes in the 'packet' manpage ("Packet sockets are not
+ subject to the input or output firewall chains").
  
  
***************
*** 489,492 ****
--- 516,520 ----
  file.
  
+ 
  ---------
  Question:
***************
*** 510,516 ****
    modprobe tun
  
! If "modprobe tun" says something like "module tun not found", then either
  it is not compiled at all or it is not compiled into the kernel. 
  
  
  ---------
--- 538,552 ----
    modprobe tun
  
! If "modprobe tun" says something like "modprobe: Can't locate module tun", then either
  it is not compiled at all or it is not compiled into the kernel. 
  
+ Note: if you do not want to receive multicast packets, only forward the packets
+ that other hosts send, then you do not need the tuntap interface. This could be the
+ case if your host is purely an OLSR router; normally no traffic will be directed
+ to the router itself. In that case you can ignore this error message. Beware, though,
+ that you will then not be able to do the simple 'ping 224.0.0.1' test (as described in
+ section 4. How to check if it works) to check for the presence of all OLSR-BMF routers
+ in the network. 
+ 
  
  ---------
***************
*** 529,532 ****
--- 565,590 ----
  -------------------
  
+ 31 Mar 2007: Version 1.4
+ * Optimized the standard forwarding mechanism in such a way that
+   retransmissions of packets are only done on those network interfaces
+   that make a host a multi-point relay (MPR) for the sender. I.e.:
+   retransmitting a packet on a network interface is not done if that
+   does not lead to any new hosts being reached.
+ * Optimized the standard forwarding mechanism such that, if the network
+   topology indicates there is only one neighbor on an interface, packets are
+   sent to the specific IP address (unicast) of that neighbor. If the network
+   topology indicates there are multiple neighbors, then BMF will still send
+   packets to the IP local-broadcast address.
+ * Introduced a new forwarding mechanism, using only IP-unicast to
+   forward packets. Packets are forwarded to the best candidate neighbor;
+   other neighbors listen promiscuously. IP-local broadcast is not used.
+   This saves air time on 802.11 WLAN networks, on which unicast packets are
+   usually sent at a much higher bit rate than broadcast packets (which are
+   sent at a basic bit rate).
+   This mechanism can be activated by specifying the following plugin
+   parameter:
+     PlParam "BmfMechanism" "UnicastPromiscuous"
+   See also section 6 - Advanced configuration.
+ 
  18 Dec 2006: Version 1.3
  * Added the possibility to configure the BMF network interface:
***************
*** 573,577 ****
  * Debug level 9 gives a better indication of what happens to each
    handled multicast/broadcast packet. To run the olsr daemon with
!   debug level 9, run "olsrd -d 9".
  * Can now deal with network interface removal ("ifdown eth1") and
    addition ("ifup eth1").
--- 631,636 ----
  * Debug level 9 gives a better indication of what happens to each
    handled multicast/broadcast packet. To run the olsr daemon with
!   debug level 9, run "olsrd -d 9"; if you're only interested in
!   BMF debug messages, run "olsrd -d 9 | grep -i bmf".
  * Can now deal with network interface removal ("ifdown eth1") and
    addition ("ifup eth1").





More information about the Olsr-cvs mailing list