[B.A.T.M.A.N.] Batman gateway lock ups
by Outback Dingo
see pastebin
http://www.pastebin.ca/1194874
pertinent info
dmesg | grep 'batgat loaded'
batgat: [init_module:96] batgat loaded rv1025
uname -a
Linux nightwing 2.6.23.16 #16 Tue Apr 22 20:00:17 ART 2008 mips unknown
root@nightwing:~# batmand -v
WARNING: You are using the unstable batman branch. If you are interested in
*using* batman get the latest stable release !
B.A.T.M.A.N. 0.3-beta (compatibility version 5)
lsmod
Module Size Used by Tainted:
P
sch_htb 14048
2
ath_ahb 103616
0
wlan_xauth 480
0
wlan_wep 4000
0
wlan_tkip 9856
0
wlan_ccmp 5440
2
wlan_acl 1920 0
ath_rate_minstrel 8352 1
ath_hal 136832 3 ath_ahb,ath_rate_minstrel
wlan_scan_sta 8768 1
wlan_scan_ap 6656 0
wlan 152464 10
ath_ahb,wlan_xauth,wlan_wep,wlan_tkip,wlan_ccmp,wlan_acl,ath_rate_minstrel,wlan_scan_sta,wlan_scan_ap
batgat 10944 1
ipt_iprange 672 0
ipt_TOS 832 0
ipt_TTL 928 0
xt_MARK 960 3
ipt_ECN 1472 0
xt_CLASSIFY 640 0
ipt_ttl 704 0
ipt_tos 544 0
ipt_time 1568 0
xt_tcpmss 1088 0
xt_statistic 832 0
xt_mark 672 7
xt_mac 736 3
xt_length 736 0
ipt_ecn 1024 0
xt_DSCP 1056 0
xt_dscp 832 0
imq 2096 0
ipt_IMQ 672 2
xt_string 896 0
xt_layer7 9840 0
ipt_ipp2p 6784 0
ipt_LOG 4640 0
xt_CHAOS 1792 0
xt_DELUDE 2624 1
xt_TARPIT 2816 1
xt_quota 800 0
xt_portscan 2016 0
xt_pkttype 704 0
xt_physdev 1488 0
ipt_owner 800 0
iptable_raw 832 0
xt_NOTRACK 832 0
xt_CONNMARK 1088 0
ipt_recent 4992 0
xt_helper 992 0
xt_conntrack 1312 0
xt_connmark 832 0
xt_connbytes 1312 0
tun 6592 0
13 years, 6 months
[B.A.T.M.A.N.] [PATCH] Differentiate between hyphen and minus in manpage
by Sven Eckelmann
groff differentiate between minus signs and hyphens. The default option
is to interpret '-' as hyphens (U+2010) and makes it hard to use copy
and paste for options in UTF-8 environments.
See http://lists.debian.org/debian-devel/2003/03/msg01481.html for more
informations.
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
---
batman/man/batmand.8 | 62 +++++++++++++++++++++++++-------------------------
1 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/batman/man/batmand.8 b/batman/man/batmand.8
index 263b4c3..ce5f743 100644
--- a/batman/man/batmand.8
+++ b/batman/man/batmand.8
@@ -17,28 +17,28 @@
.\" for manpage-specific macros, see man(7)
.TH "batmand" 8
.SH NAME
-batmand \- better approach to mobile ad-hoc networking
+batmand \- better approach to mobile ad\(hyhoc networking
.SH SYNOPSIS
.B batmand
.RI [ options ] interface [ interface ... ]
.br
.SH DESCRIPTION
.B B.A.T.M.A.N
-means better approach to mobile ad-hoc networking, this is a new routing protocol for multi-hop ad-hoc mesh networks. Go to http://www.open-mesh.net/ to get more information.
+means better approach to mobile ad\(hyhoc networking, this is a new routing protocol for multi\(hyhop ad\(hyhoc mesh networks. Go to http://www.open\-mesh.net/ to get more information.
.PP
The following document will explain how to use the \fBbatman daemon\fP.
.PP
-The batmand binary can be run in 2 different ways. First you need to start the daemon with "batmand [options] interface" (daemon mode) and then you can connect to that daemon to issue further commands with "batmand -c [options]" (client mode). Some of the options below are always available, some are not. See the example section to get an idea.
+The batmand binary can be run in 2 different ways. First you need to start the daemon with "batmand [options] interface" (daemon mode) and then you can connect to that daemon to issue further commands with "batmand \-c [options]" (client mode). Some of the options below are always available, some are not. See the example section to get an idea.
.SH OPTIONS
.TP
.B \-a add announced network(s)
-Add networks to the daemons list of available connections to another network(s). This option can be used multiple times and can be used to add networks dynamically while the daemon is running. The parameter has to be in the form of ip-address/netmask.
+Add networks to the daemons list of available connections to another network(s). This option can be used multiple times and can be used to add networks dynamically while the daemon is running. The parameter has to be in the form of ip\(hyaddress/netmask.
.TP
.B \-A delete announced network(s)
-Delete networks to the daemons list of available connections to another network(s). This option can be used multiple times and can only be used while the daemon is running. The parameter has to be in the form of ip-address/netmask.
+Delete networks to the daemons list of available connections to another network(s). This option can be used multiple times and can only be used while the daemon is running. The parameter has to be in the form of ip\(hyaddress/netmask.
.TP
.B \-b run debug connection in batch mode
-The debug information are updated after a period of time by default, so if you use "-b" it will execute once and then stop. This option is useful for script integration of the debug output and is only available in client mode together with "-d 1" or "-d 2".
+The debug information are updated after a period of time by default, so if you use "\-b" it will execute once and then stop. This option is useful for script integration of the debug output and is only available in client mode together with "\-d 1" or "\-d 2".
.TP
.B \-c connect via unix socket
Use this option to switch to client mode. Deploy it without any arguments to get the current configuration even if changed at runtime.
@@ -46,25 +46,25 @@ Use this option to switch to client mode. Deploy it without any arguments to get
.B \-d debug level
The debug level can be set to five values.
.RS 17
-default: 0 -> debug disabled
+default: 0 \-> debug disabled
.RE
.RS 10
-allowed values: 1 -> list neighbors
+allowed values: 1 \-> list neighbors
.RE
.RS 25
- 2 -> list gateways
- 3 -> observe batman
- 4 -> observe batman (verbose)
- 5 -> memory debug / cpu usage
+ 2 \-> list gateways
+ 3 \-> observe batman
+ 4 \-> observe batman (verbose)
+ 5 \-> memory debug / cpu usage
.RE
.RS 7
Note that debug level 5 can be disabled at compile time.
.RE
.TP
.B \-g gateway class
-The gateway class is used to tell other nodes in the network your available internet bandwidth. Just enter any number (optionally followed by "kbit" or "mbit") and the daemon will guess your appropriate gateway class. Use "/" to seperate the down- and upload rates. You can omit the upload rate and batmand will assume an upload of download / 5.
+The gateway class is used to tell other nodes in the network your available internet bandwidth. Just enter any number (optionally followed by "kbit" or "mbit") and the daemon will guess your appropriate gateway class. Use "/" to seperate the down\(hy and upload rates. You can omit the upload rate and batmand will assume an upload of download / 5.
.RS 17
-default: 0 -> gateway disabled
+default: 0 \-> gateway disabled
.RE
.RS 10
allowed values: 5000
@@ -89,20 +89,20 @@ In a static network, you can save bandwidth by using a higher value.
This option is only available in daemon mode.
.TP
.B \-p preferred gateway
-Set the internet gateway by yourself. Note: This automatically switches your daemon to "internet search modus" with "-r 1" unless "-r" is given. If the preferred gateway is not found the gateway selection will use the current routing class to choose a gateway.
+Set the internet gateway by yourself. Note: This automatically switches your daemon to "internet search modus" with "\-r 1" unless "\-r" is given. If the preferred gateway is not found the gateway selection will use the current routing class to choose a gateway.
.TP
.B \-r routing class
-The routing class can be set to four values - it enables "internet search modus". The deamon will choose an internet gateway based on certain criteria (unless "-p" is specified):
+The routing class can be set to four values \(hy it enables "internet search modus". The deamon will choose an internet gateway based on certain criteria (unless "\-p" is specified):
.RS 17
-default: 0 -> set no default route
+default: 0 \-> set no default route
.RE
.RS 10
-allowed values: 1 -> use fast connection
+allowed values: 1 \-> use fast connection
.RE
.RS 25
- 2 -> use stable connection
- 3 -> use fast-switch connection
- XX -> use late-switch connection
+ 2 \-> use stable connection
+ 3 \-> use fast\(hyswitch connection
+ XX \-> use late\(hyswitch connection
.RE
.RS 7
In level 1, B.A.T.M.A.N tries to find the best available connection by watching the uplinks throughput and the link quality.
@@ -112,34 +112,34 @@ In level XX (number between 3 and 256) B.A.T.M.A.N compares the link quality of
.RE
.TP
.B \-s visualization server
-Since no topology database is computed by the protocol an additional solution to create topology graphs has been implemented, the vis server. Batman daemons may send their local view about their single-hop neighbors to the vis server. It collects the information and provides data in a format similar to OLSR's topology information output. Therefore existing solutions to draw topology graphs developed for OLSR can be used to visualize mesh-clouds using B.A.T.M.A.N.
+Since no topology database is computed by the protocol an additional solution to create topology graphs has been implemented, the vis server. Batman daemons may send their local view about their single\(hyhop neighbors to the vis server. It collects the information and provides data in a format similar to OLSR's topology information output. Therefore existing solutions to draw topology graphs developed for OLSR can be used to visualize mesh\(hyclouds using B.A.T.M.A.N.
.TP
.B \-v print version
.TP
-.B \-\-disable-client-nat
-Since version 0.3.2 batmand uses iptables to set the NAT rules on the gateX interface of the batman client (-r XX). That option disables this feature of batmand and switches the internet tunnel mode to "half tunnels" (the packets towards the gateway are tunneled but not the packets that are coming back) unless NAT was enabled manually. Be sure to know what you are doing! Without NAT the gateway needs to have a route to the client or the packets will be dropped silently.
+.B \-\-disable\-client\-nat
+Since version 0.3.2 batmand uses iptables to set the NAT rules on the gateX interface of the batman client (\-r XX). That option disables this feature of batmand and switches the internet tunnel mode to "half tunnels" (the packets towards the gateway are tunneled but not the packets that are coming back) unless NAT was enabled manually. Be sure to know what you are doing! Without NAT the gateway needs to have a route to the client or the packets will be dropped silently.
.TP
-.B \-\-policy-routing-script
-This option disables the policy routing feature of batmand - all routing changes are send to the script which can make use of this information or not. Firmware and package maintainers can use this option to tightly integrate batmand into their own routing policies. This option is only available in daemon mode.
+.B \-\-policy\-routing\-script
+This option disables the policy routing feature of batmand \(hy all routing changes are send to the script which can make use of this information or not. Firmware and package maintainers can use this option to tightly integrate batmand into their own routing policies. This option is only available in daemon mode.
.SH EXAMPLES
.TP
.B batmand eth1 wlan0:test
Start batman daemon on interface "eth1" and on alias interface "wlan0:test"
.TP
-.B batmand -o 2000 -a 192.168.100.1/32 -a 10.0.0.0/24 eth1
+.B batmand \-o 2000 \-a 192.168.100.1/32 \-a 10.0.0.0/24 eth1
Start batman daemon on interface "eth1" with originator interval of 2000 ms while announcing 192.168.100.1 and 10.0.0.0/24.
.TP
-.B batmand -s 192.168.1.1 -d 1 eth1
+.B batmand \-s 192.168.1.1 \-d 1 eth1
Start batman daemon on interface "eth1", sending topology information to 192.168.1.1 and with debug level 1 (does not fork into the background).
.TP
-.B batmand eth1 && batmand -c -d 1 -b
+.B batmand eth1 && batmand \-c \-d 1 \-b
Start batman daemon on interface "eth1". Connect in client mode to get the debug level 1 output once (batch mode).
.TP
-.B batmand -g 2000kbit/500kbit eth1 && batmand -c -r 1
+.B batmand \-g 2000kbit/500kbit eth1 && batmand \-c \-r 1
Start batman daemon on interface "eth1" as internet gateway. Connect in client mode to disable the internet gateway and enable internet search mode.
.br
.SH AUTHOR
-batmand was written by Marek Lindner <lindner_marek-at-yahoo.de>, Axel Neumann <axel-at-open-mesh.net>, Stefan Sperling <stsp-at-stsp.in-berlin.de>, Corinna 'Elektra' Aichele <onelektra-at-gmx.net>, Thomas Lopatic <thomas-at-lopatic.de>, Felix Fietkau <nbd-at-nbd.name>, Ludger Schmudde <lui-at-schmudde.com>, Simon Wunderlich <siwu-at-hrz.tu-chemnitz.de>, Andreas Langer <a.langer-at-q-dsl.de>.
+batmand was written by Marek Lindner <lindner_marek\-at\-yahoo.de>, Axel Neumann <axel\-at\-open\-mesh.net>, Stefan Sperling <stsp\-at\-stsp.in\-berlin.de>, Corinna 'Elektra' Aichele <onelektra\-at\-gmx.net>, Thomas Lopatic <thomas\-at\-lopatic.de>, Felix Fietkau <nbd\-at\-nbd.name>, Ludger Schmudde <lui\-at\-schmudde.com>, Simon Wunderlich <siwu\-at\-hrz.tu\-chemnitz.de>, Andreas Langer <a.langer\-at\-q\-dsl.de>.
.PP
This manual page was written by Wesley Tsai <wesleyboy42(a)gmail.com>,
for the Debian GNU/Linux system.
--
1.6.2.4
13 years, 8 months
[B.A.T.M.A.N.] Masters thesis
by Vojislav Marinkovic
Hi!
My name is Vojislav Marinkovic and I am a student of Electrical Engineering at the Royal Institute of Technology in Stockholm. My major is Communication Networks and right now I am looking for an interesting subject for my masters thesis. While browsing the Internet for some interesting topics, I ran into your project which is very similar to (yet better than) one of my own ideas. So I thought "why should I put time on inventing wet water instead of joining the project?",
On your homepage you stated that you have a lot of ideas but you don't have the time to implement them all. My question is, do you have any ideas that would fit to be done as a masters thesis in communication networks? It could be anything from an issue related to the protocol itself or it could be porting an already deployed technology on other types of networks to the B.A.T.M.A.N. (I'm not suggesting anything, but as an example let's say potential issues with live streaming over a B.A.T.M.A.N.-network), comparing B.A.T.M.A.N. some other routing protocol/s or any other topic related to my major subject. I really don't have any idea on what problems you have encountered so please help me find a good topic for my masters thesis.
The thesis will be done during this summer.
Thank you in advance
Vojislav Marinkovic
13 years, 9 months
[B.A.T.M.A.N.] Gateway on multiple interfaces
by Nathan Wharton
I am using B.A.T.M.A.N. 0.3.2-beta rv1246 with the batgat module.
Internet tunneling works well on the first interface mentioned on the
command line. Tunneling does not work on the secondary interface, and
it floods the log file on the gateway with:
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
Apr 28 17:38:09 OpenWrt user.debug kernel: batgat: [get_ip_addr:645]
found client in hash
And on the client with:
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
request: sender IP is not gateway IP
Apr 28 17:33:10 OpenWrt user.notice batmand: Error - can't receive ip
from gateway: number of maximum retries reached
Is there something I can do to get it to work on the secondary interface?
On the gateway, I am using:
batmand -d 3 -g 11000 -a 10.2.1.0/24 --disable-client-nat
--hop-penalty 5 --purge-timeout 10000 ath0 eth0
ath0 is IP 10.0.2.1/16
eth0 is IP 10.255.2.1/16
On the client, I am using:
batmand -d 3 -r 2 -a 10.1.11.0/24 --disable-client-nat --hop-penalty 5
--purge-timeout 10000 ath0 eth0
ath0 is IP 10.0.1.11/16
eth0 is IP 10.255.1.11/16
Thanks in advance for any help on this.
13 years, 9 months
[B.A.T.M.A.N.] times wrapper
by Nathan Wharton
When I first started meshing, I used olsrd. There was a problem on
our platform that caused olsrd packets to stop going out after the
board had been up about 5 minutes. The outage lasted about 40
seconds, then came back. It turns out that there is a problem with
the times() call that will return -1 for the 4096 jiffies before wrap
around. This caused no apparent change in time during that duration,
so no packets were sent. Also, for some reason on our platform,
times() starts out about 5 minutes before wrap around.
I found a work around elsewhere (and I leave credit in the patch) for
some other software that was failing every 400 something days. I
applied this to olsrd, and the problem went away.
When I switched to batman, I saw that times() is used in it as well,
so I made the patch attached. So, if anyone sees packets fail to come
from batman for 40 seconds, they might need this.
13 years, 9 months
[B.A.T.M.A.N.] vis server - global or local map?
by Gargi Purohit
Hi
I have a 3 node network setup with Routerboards 433. Each of these
boards have 2 wifi cards running. I run layer 2 batman kernel module
on these routers.
I have enabled vis server by:
echo "server" > /proc/net/batman-adv/vis
and I can see the contents of the vis file now.
I wanted to know if the entire network map is made available to each
and every node OR the node has information only about its local
connectivity to its neighbors and max the neighbors immediate
connectivity.
For instance I have a set up
A----B----C----D-----E----F
|
|
P
Now wheter Node A will know if E is connected to P and the link
quality of the same?
Or it would just know that A is connected to B and since B is its
immediate neighbor it would also know B is connected to C?
Regards
Gargi
13 years, 9 months
Re: [B.A.T.M.A.N.] Trouble with SSH in L2 batman network
by Gargi Purohit
Sorry was not clear in the configuration
= = AP to AP wireless link
^ ^ AP to client wireless link
Server1 and RB1 on wired n/w
My configuration is like this:
-Server 1 --|
|
|-----(RB1) = = (RB2)
^ ^
^ ^
^ ^
C1 C2
> On Tue, Apr 7, 2009 at 5:18 PM, Gargi Purohit <gaargie(a)gmail.com> wrote:
>> Hi
>>
>> I have configured a Layer 2 mesh (Using batman kernel module) on
>> Routerboard 433. These are boards equipped with 2 interfaces. I have
>> configured/created a virtual interface on every physical interface.
>> So for E.g. my routerboard 1 (RB1) has ath0 (Phy interface - Adhoc
>> mode), ath1 (Virtual interface - Master mode), ath2 (Phy interface -
>> Adhoc mode) and ath3 (Virtual interface in Master mode).
>>
>> My set up has 2 routerboards - one is wired and the other is wireless.
>> Thus RB1 has (ath0, ath1, ath2, ath3 and eth0)
>> RB2 has (ath0, ath1, ath2, ath3)
>>
>> The proc is as follows on both RB1 and RB2
>>
>> root@open-mesh:~# cat /proc/net/batman-adv/interfaces
>> ath0 ath2
>>
>> I have created a bridge between all interfaces.
>> The bridge config on RB1 is:
>>
>> root@open-mesh:~# brctl show
>> bridge name bridge id STP enabled interfaces
>> br0 8000.000c422fbfe4 no eth0
>> ath1
>> ath3
>> bat0
>>
>>
>> The bridge config on RB2 is:
>> root@open-mesh:~# brctl show
>> bridge name bridge id STP enabled interfaces
>> br0 8000.00ff8fffdcc7 no bat0
>> ath1
>> ath3
>>
>>
>> I can connect clients to each of these RB and they can get Internet access.
>>
>> My configuration is like this:
>>
>> -------------------Server 1 -------------|
>> |
>> |-------------Wired AP
>> (RB1) = = = = = = = Wireless AP (RB2)
>> |
>> ^ ^
>> |
>> ^ ^
>> |
>> ^ ^
>> |
>> C1 (Client of RB1) C2 (Client of
>> RB2)
>>
>>
>> The APs RB1 and RB2 are connected to each other over 2 mesh wireless
>> links on different channels (ath0 and ath2)
>>
>> I am trying to ssh to Server 1 from all these nodes. I can ssh to
>> Server 1 from anyone but RB2 (RB1, C1, C2 can ssh Server 1 but RB2
>> cannot).
>>
>> Likewise I can ssh all nodes from each other. E.g from anywhere on
>> LAN I can ssh to each of these nodes. But RB2 can be sshed only from
>> nodes directly connected (eg. RB1 and C2).
>>
>> Note however i can ping Server 1 from RB2.
>>
>> Am not sure where I am going wrong?
>>
>> Regards
>>
>> Gargi
>>
>
13 years, 9 months
[B.A.T.M.A.N.] Fwd: [Babel-users] Wireless Battle Mesh -- a Babel perspective
by Marek Lindner
Hi,
Juliusz has problems sending this message to our list, hence I forward it for
him.
Regards,
Marek
---------- Forwarded Message ----------
Subject: [Babel-users] Wireless Battle Mesh -- a Babel perspective
Date: Thursday 16 April 2009
From: Juliusz Chroboczek <Juliusz.Chroboczek(a)pps.jussieu.fr>
To: babel-users(a)lists.alioth.debian.org
CC: tmplab(a)lists.tmplab.org, bh(a)udev.org, b.a.t.m.a.n(a)open-mesh.net
Hi,
WBM was good fun, as you can gather from Massoud's e-mail. There were
people from Paris, Vienna, Berlin and Brussels. It was a chance to meet
active implementers of three routing protocols (Babel, OLSR and Batman).
We spent four days flashing routers, measuring packet loss between a cave
and a railway track, and estimating routing protocol overhead. We had
a few chats about routing protocols, did a couple of impromptu presenta-
tions, watched the pretty pictures generated by three distinct network
graphing packages, drank too much beer, drank too much coffee, and ate
hallal sausages. We also looked at the passing trains.
I've had some extended chats with one of the Berlin people, and learnt
quite a lot about Batman. I'm convinced now that Batman is loop-free, I'm
also convinced that it has glacially slow convergence, and that the two
properties are linked -- any tweak to make Batman converge faster will
cause loops. (I'm willing to exchange the proof of loop-freedom for a pint
of good German beer.)
Some interesting developments on the OLSR side -- they appear to be
developing a link-state routing protocol that is almost, but not quite,
entirely unlike OLSR. A lot of interesting anecdotes about OLSR, too.
Together with one of the Belgian guys, we implemented a variant of Babel
that takes link diversity into account (using a gross simplification of the
MIC metric). In the particular configuration that we implemented (six
Foneras running on three different channels and pairwise connected by wired
Ethernet), the results are dramatic -- the algorithm is able to choose the
maximum diversity route, which leads to a 5-fold improvement in transfer
rate (Benjamin, do you have the exact figures?). The code we used for
testing is somewhat hackish, I need to think about it some more before
I can include such an algorithm within the Babel trunk.
I found two bugs in Babel, both related to retractions. First, retractions
were not properly sent after a redistributed route was removed; second,
resending of retractions was broken, and a retraction would only get sent
twice (rather than the expected 1 minute with exponential backoff). Both
bugs have been fixed in the Darcs tree, what will become Babel 0.95 as soon
as it's tested.
I've also seen one packet that looped. Just the one packet, granted, but
that is not supposed to happen. According to Murphy's law, I wasn't
capturing the traffic at the time, and I've never been able to reproduce it
again. I've spent much of today eyeballing the code, and I'm fairly
positive loops don't happen in Babel. I'm still worried, though.
A rather productive week-end, altogether, were it not for the fact that
I've been sick with the flu for two days now. I strongly suspect my flu
came from Vienna.
Regards,
Juliusz
-------------------------------------------------------
13 years, 9 months
[B.A.T.M.A.N.] Out of tree builds of kernel modules
by Sven Eckelmann
Hi,
I have currently following problem with batman-adv-kernelland and batmand-
gateway:
Danial Baumann supports building of kernel modules against the current Debian
kernel in sid with his linux-modules-extra-2.6 package. The module sources
must only to support build over the kernel headers. It is done like that:
/usr/bin/make -C /usr/src/linux-headers-2.6.29-1-amd64 M=/batman-adv/
So it calls the Makefile in /usr/src/linux-headers-2.6.29-1-amd64 to build the
sources in /batman-adv/. This seems to be a quite common way to do the build.
There are different problems with the way the current Makefiles of these
modules are written.
First thing is that there is a Makefile.kbuild which is included with
include $(PWD)/Makefile.kbuild
This will not work in the current situation because the PWD is now
/usr/src/linux-headers-2.6.29-1-amd64. Is this extra Makefile.kbuild really
needed?
The second problem is the check of KERNELPATH of Makefile. It will check if
the sources of the current kernel is installed and quits if not (+ error
message that someone should set the KERNELPATH variable). In the current
situation we don't have the sources of the current kernel installed, but the
kernel headers of another kernel are being used automatically. Wouldn't be
following check
KERNELPATH ?= /lib/modules/$(shell uname -r)/build
# sanity check: does KERNELPATH exist?
ifeq ($(shell cd $(KERNELPATH) && pwd),)
$(warning $(KERNELPATH) is missing, please set KERNELPATH)
endif
ok too?
The batmand-gateway cannot be build for linux 2.6 if the current kernel is a
2.4.x. Isn't it possible to make the obj-m and batgat-objs assignment outside
the check for the kernel version?
My current workaround is to install my own version of the Makefile in the
debian package, but I ask myself if this is really needed or parts of it
should also be changed upstream.
Best regards,
Sven
13 years, 9 months