[Babel-users] Babel Configuration Help

Abraham Hart multidest at gmail.com
Sun Sep 12 21:47:27 UTC 2010


Hi,

I have 2 nodes on Openwrt Kamikazi 8.01.02. running babel 1.0.1, Node0 and
Node1

The nodes have 3 devices ath0 eth0 eth1.

Node 0
--------------
ath0 on node7 is statically configured as 10.0.0.1/24
eth0 on node7 is statically configured as 192.168.0.1/24
eth1 on node7 is statically configured as 192.168.127.1/24


babeld.config
----------------------------
interface ath0 hello-interval 1
redistribute ip 192.168.0.0/24
redistribute ip 192.168.127.0/24


Node 1
------------
ath0 on node5 is configured as 10.0.0.2/24
eth0 on node5 is configured as 192.168.254.1/24
eth1 on node5 is configured as 192.168.5.1/24

babeld.config
----------------------------
interface ath0 hello-interval 1
redistribute ip 192.168.254.0/24
redistribute ip 192.168.5.0/24

This causes babel to quit with an assert error from end_message in
messages.c
I've commented out the assert in the code and replaced it with an if
statement to alert me when it would normally have crashed.
edited end message
---------------------------
static void
end_message(struct network *net, int type, int bytes)
{
    //fprintf(stderr,"############ %i type, %i bytes %i sendbuf",type,bytes,
net->sendbuf[net->buffered-bytes-1]);
    assert(net->buffered >= bytes + 2);
    assert(net->sendbuf[net->buffered - bytes - 2] == type);
    if(net->sendbuf[net->buffered - bytes - 1] != bytes){
         fprintf(stderr,"####### crash, %i, %i, %i, %i", type, bytes,
net->sendbuf[net->buffered-bytes-1],net->buffered);
    }
    //assert(net->sendbuf[net->buffered - bytes - 1] == bytes);
    schedule_flush(net);
}

When edited like this it distributes the first route just fine but the
second route doesn't distribute
My added if statement also triggers quite a bit.

Here are the two "ip route show"

node5
10.0.0.7 via 10.0.0.7 dev ath0  proto 42 onlink
192.168.0.1 via 10.0.0.7 dev ath0  proto 42 onlink
192.168.127.1 via 10.0.0.7 dev ath0  proto 42 onlink
192.168.5.0/24 dev eth0  proto kernel  scope link  src 192.168.5.1
10.0.0.0/24 dev ath0  proto kernel  scope link  src 10.0.0.5
192.168.127.0/24 via 10.0.0.7 dev ath0  proto 42 onlink
192.168.254.0/24 dev eth1  proto kernel  scope link  src 192.168.254.1

node7
10.0.0.5 via 10.0.0.5 dev ath0  proto 42 onlink
192.168.5.1 via 10.0.0.5 dev ath0  proto 42 onlink
192.168.254.1 via 10.0.0.5 dev ath0  proto 42 onlink
192.168.5.0/24 via 10.0.0.5 dev ath0  proto 42 onlink
10.0.0.0/24 dev ath0  proto kernel  scope link  src 10.0.0.7
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1
192.168.127.0/24 dev eth1  proto kernel  scope link  src 192.168.127.1

Excerpt from babel with no debug enabled.
node7
Couldn't parse packet (8, 13) from fe80::221:a4ff:fe30:108b on ath0.
####### crash, 6, 10, 0, 119####### crash, 6, 10, 0, 111Couldn't parse
packet (6, 0) from fe80::221:a4ff:fe30:108b on ath0.
Couldn't parse packet (2, 2) from fe80::221:a4ff:fe30:108b on ath0.
Received truncated message.
Couldn't parse packet (6, 0) from fe80::221:a4ff:fe30:108b on ath0.
Received truncated message.
####### crash, 6, 10, 0, 119Couldn't parse packet (6, 0) from
fe80::221:a4ff:fe30:108b on ath0.
Received truncated message.
####### crash, 6, 10, 0, 119####### crash, 6, 10, 0, 119Couldn't parse
packet (6, 0) from fe80::221:a4ff:fe30:108b on ath0.
Received truncated message.

node5
root at Node5:/etc# babeld
Couldn't parse packet (6, 0) from fe80::221:a4ff:fe30:fbb on ath0.
Received truncated message.
Couldn't parse packet (6, 0) from fe80::221:a4ff:fe30:fbb on ath0.
Received truncated message.
####### crash, 6, 10, 0, 111####### crash, 6, 10, 0, 119Couldn't parse
packet (6, 0) from fe80::221:a4ff:fe30:fbb on ath0.
Received truncated message.
####### crash, 6, 10, 0, 103Couldn't parse packet (6, 0) from
fe80::221:a4ff:fe30:fbb on ath0.
Received truncated message.
Couldn't parse packet (6, 0) from fe80::221:a4ff:fe30:fbb on ath0.
Received truncated message.
####### crash, 6, 10, 0, 103

Am I misunderstanding what this does? What I am trying to do is something
like HNA's in OLSR, which work under the same network configuration. I need
nodes to be able to access all of the networks.
If so how could I get this working properly?

Attached is output of babeld with debug at 3

Thanks for the help,
Abe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20100912/457ff85b/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: babellognode5
Type: application/octet-stream
Size: 121559 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20100912/457ff85b/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: babellognode7
Type: application/octet-stream
Size: 127922 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20100912/457ff85b/attachment-0003.obj>


More information about the Babel-users mailing list