Under Linux, -x now works for IPv4 routes -- in other words, IPv4 and
IPv6 have the same level of support.
As to the network at P7, only small bits of it route IPv4 right now
(huponomos, gamma and pirx). I'll expand the IPv4 coverage when
I implement filtering and support for multiple routing
I've just added a new flag, -w, to Babel, which can be used to disable
the optimisations for wired networks. If Babel is invoked with -w, it
will use the wireless algorithm on all interfaces, which means that:
- the hello interval will not be increased;
- link quality information will be
I activated it (I almost always use babel over a wireless interface) and
I'll let you know if it solves the issue I had when using Babel over
OpenVPN (ie. freeze after some time).
Nope, I still get the connection freezing from time to time. The tunnel
seems to stay up, I can see some packets
There was a bug that could spuriously remove IPv4 routes if you had
multiple neighbours with small metrics (diagnosed by Julien Cristau,
to whom thanks).
I've just fixed it in the Darcs repository, so please upgrade if
you're using IPv4.
Juliusz
Dear all,
I've just committed into the Darcs repository a version of Babel that
uses a proper configuration language to specify input, output filters
and redistribution policies. It needs more testing, but appears to work.
Incompatible changes: the flags -x, -4 and -c no longer exist, they're
Dear all,
Julien and I spent much of last night setting up a NAT-ed IPv4 default
route (and a fascist firewall to go with it) on the wifi.pps network.
Since the routing policies on the NAT box and on Huponomos become
somewhat baroque with this addition (you don't want to mix up native
routing
,
Juliusz Chroboczek
14 February 2008: babel 0.9
* Implemented a proper configuration language to specify input and
output filters and redistribution policies.
* Incompatible change: the flags -4, -x and -c are no longer supported.
pgpUQOayb6BiC.pgp
Dear all,
Julien and myself have just finished implementing redistribution of
local addresses. In other words, it is no longer necessary to
manually redistribute local addresses, you can ask Babel to do it
automatically.
Redistribution is not done by default; you will need to specify which
After a little thought, I've made Babel redistribute local addresses
by default. If you're not happy with this behaviour, add the
following line as the last in your /etc/babel.conf:
redistribute local deny
Juliusz
Dear all,
Lilian has found a case in which Babel 0.9 would delay reconvergence
by 30 seconds. I've now fixed this case, and reworked the route
selection algorithm somewhat; convergence speed is much improved.
Since I'd like to release 0.10 pretty soon, I'm very much interested
in any data about
I've just changed the local interface protocol.
First, there is now an initial message. This is just
BABEL 0.0
0.0 is the protocol version, and is followed by a list of tokens,
currently empty.
Second, every message contains a unique identifier for the object it
describes. For example,
getting proper WAN-wide name registration and defending is _hard_.
Yes, if you want to be distributed. You can always fake it with
a centralised server.
it takes about _three years_ to get it right - as no less than three
of us found out for samba.
Yeah, but you needed to be
I made some major changes to Babel's data structures last night. The
new version didn't crash in 24 hours, and I'd be grateful if people
try it out before release.
There are no user-visible changes, except that the new version uses
less memory and lifts all arbitrary constraints (such as the
repository) should re-add
support for exporting default routes on recent Linux kernels.
Juliusz
Sat May 24 01:08:20 CEST 2008 Juliusz Chroboczek [EMAIL PROTECTED]
* Fix parsing of kernel route metric on recent kernels.
Recent kernels don't include
To whoever commits Babel into OpenWRT,
I have some clean initscripts for Babel 0.13 under OpenWRT. I've sent
a copy to Florian, but I'm not sure he'll be the one doing the commit.
Please ask me for a copy of the initscript before committing 0.13 into
OpenWRT.
Thanks,
into OpenWRT, please drop me
a note, I have some proper initscripts ready.
Juliusz Chroboczek
25 May 2008: ahcpd 0.5
* Made ahcpd gracefully survive interfaces going up/down or being
renumbered, as usually happens when tunnels or VPNs are started
Available from
http://www.pps.jussieu.fr/~jch/software/files/
as usual.
Please make sure to edit the /etc/config/* files after installing.
Juliusz
___
Babel-users mailing list
Alex, Pejman,
(Writing in English, as babel-users is in CC.)
I've just brought the babel-local-interface branch up-to-date with the
trunk. You may want to run darcs pull.
Regards,
Juliusz
___
Babel-users
setsockopt(IPV6_JOIN_GROUP): Cannot allocate memory
Hmm... that would explain it. If we cannot join the multicast group,
then we won't be able to receive any hello packets and hence never
acquire any neighbours on that interface.
Assuming you've got enough physical memory, that looks like a
I forgot to mention that B-P was written last night around 2am, and
that it is almost completely untested. Testing, in this case, is left
to the users (an approach pioneered by Microsoft and successfully
applied by RedHat).
Juliusz
I've just merged the babel-local-interface branch into the trunk.
Alex, Pejman, this means that you should switch to the babel
repository, and no longer work on the local-interface branch.
Just do
rm _darcs/prefs/defaultrepo
darcs pull http://www.pps.jussieu.fr/~jch/software/repos/babel
[This is an announcement local to Paris, so I'll write in French.]
Ce Vendredi et Samedi, dans le cadre de la Fête de la Science, il y aura
plusieurs démos et conférences ouverts au public sur le campus de
l'Université de Paris 7, au fin fond du 13e arrondissement. Le programme
et un plan
have some time.
Juliusz
Fri Nov 21 03:58:34 CET 2008 Juliusz Chroboczek [EMAIL PROTECTED]
* Make sure net-buffered_updates is cleared when freed.
diff -rN -u old-babel/network.c new-babel/network.c
--- old-babel/network.c 2008-11-25 18:57:18.0
I'm not quite decided yet (I need to sleep over it),
I still haven't slept, so all I say is tentative.
but right now I'm tempted to take the union of the interfaces listed on
the command line with those listed in the config file.
For interfaces specified on the command line, there will
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
Dear all,
Version 0.95 of the Babel routing daemon is available from
http://www.pps.jussieu.fr/~jch/software/files/babel-0.95.tar.gz
http://www.pps.jussieu.fr/~jch/software/files/babel-0.95.tar.gz.asc
For more information about Babel, please see
binary packages for freifunkfirmware (and with some custom start scripts)
are available here:
http://texas.funkfeuer.at/~harald/babel/fff/0xff-babel_0.95-1_mipsel.ipk
Do you want me to put a link on the Babel page ? Which URL shall I link
to ?
Juliusz
seems you guys only deal in broadcom stuff ? any atheros nodes ?
I'm currently running both, but intend to buy Atheros only in the future.
Juliusz
___
Babel-users mailing list
All binray packages I compile should be somewhere below
http://texas.funkfeuer.at/~harald/babel/ so probably that's the
most general URL.
Done. Thanks.
Juliusz
___
Babel-users mailing list
Hi Harald,
I believe I found an issue that might lead to unstable links in the
corner case of two interfaces sharing the same broadcast domain:
Since hellos on different interfaces are sent with different
sequence numbers peer nodes might get very confused.
Babel version 1 had this problem,
Sorry to follow-up on myself.
In version 2, the neighbour is identified with the link-local IPv6
address, so multiple adjacencies between the same two nodes are okay.
Just to be clear: there is no issue at all with conflicting routable
addresses. If two neighbours on the same link have the
Theoretically two nodes in two-hop range might get the same linklocal IP,
because they don't share a link, but the node between them would be in
trouble.
Yep. A possible workaround would be to assign random IPv6 interface-ids
to the interfaces. (There's 62 bits of randomness in a
Dear all,
I've just submitted a new version of the Babel protocol draft to the
IETF. A local copy is available from
http://www.pps.jussieu.fr/~jch/software/babel/draft-chroboczek-babel-routing-protocol.txt
1. The proper way -- speak RIP or BGP with your upstream
2. The hackish way -- using an ad-hoc reachability protocol
***
That was meant to go to the list, of course. Apologies
I admit that I do not understand the babel.conf file very well.
Maybe this will help:
http://mid.gmane.org/7ive3ry9r7@lanthane.pps.jussieu.fr
Juliusz
___
Babel-users mailing list
You need to set a higher rxcost for router1. This can be done in
babel.conf (I'm assuming your interface connected to the Internet is
eth0):
interface eth0 rxcost 200
Don't do that. First, it's not recommended (see the manual page), and
second, it won't work in this case.
On router 2, say
maybe I'm missing something to get it to distribute those local
default routes
I'm not sure I read you right. Are you saying that the routes are
ignored by Babel?
If so, read part 0 of the message that I referred to earlier.
Juliusz
I more or less have it working. If I unplug either of the links to
the adsl lines, after a couple minutes babel moves the routing around
so that it works again.
Note that the slowness here is due to babel-pinger (which is really just
a hack) rather than to Babel itself. In the absence of
I think that the proper solution is to use multiple routing tables, one
for the DHCP route and one for Babel; this way, your node will have both
default routes at the same time, but prefer the Babel route to the DHCP
route.
Add something like this to your init scripts:
ip rule add prio 100
ok, I've done with you suggest, I also ran babel-pinger -p 42.
No, run babel-pinger normally (protocol and table are orthogonal).
I'm not getting the second default route from the A router on the
B router.
r...@grant:~# ip route show
ip route show table 42
I would have liked to see a comparison with OLSR.org default settings
(ETX metric) instead of hopcount metric.
Agreed.
Note however that this doesn't entirely explain why OLSR collapsed in
their tests. If you look at table I, you'll notice that in the case of
node Babel did choose the
after reading a bit in
http://www.pps.jussieu.fr/~jch/software/ahcp/draft-chroboczek-ahcp-00.txt
i found IPv6 Prefix Delegation and IPv4 Prefix Delegation.
do i understand right, there will be a way to get ipv4 and ipv6 prefixes
stateful from the ahcp server (in the future)?
Yes.
The usage
Hello to both of you, and thanks a lot for your paper.
MA:
1. The aim of this paper was to study all the protocols in their default
settings.
I realise that. My comments were just a quick guide to the paper, to
make it easier for folks to read it, by no way a criticism.
MA:
We did not
In case any of you are wondering whence this flurry of activity from Gabriel:
Gabriel will be doing a medium-scale demo of Babel and AHCP from
tomorrow (Wednesday) up to the end of the week on the campus of the
University of Paris 7.
Hi Dave,
I have been prototyping a new community wireless network down in
Nicaragua. The terrain is hilly and well suited for meshy solutions...
Do you have any photographs?
1) Is anyone maintaining an openwrt repository that implements later
versions of babeld and AHCP?
Gabriel? What's
(If the network would have a mesh-wide multicast implementation, you could
just use it and forget about the forwarders, right ?)
Bootstrapping issues. The main reason AHCP implements its own multicast
routing rather than relying on the IP layer is that at the point when
you run AHCP, the
(If the network would have a mesh-wide multicast implementation, you
could just use it and forget about the forwarders, right ?)
Bootstrapping issues. The main reason AHCP implements its own multicast
routing rather than relying on the IP layer is that at the point when
you run AHCP, the
That's what version 0 of the AHCP protocol did -- it first configured
IPv6 statelessly, then used unicast IPv6 to perform stateful IPv4
configuration. It didn't work very well:
So you just communicate over linklocal IPs and broadcast until the IPs are
set?
Yes. (Link-local multicast, not
Has anyone previously had a problem starting babel with an
/etc/init.d/ script?
No, it works fine for me. Could we please have a copy of your init script?
- Ensuring that the system is starting with a rw filesystem (beucase voyage
switches to a ro file system and it seems that babel needs
A already connected to the socket for the frontend, but afaik i
gives me just one worldview.
Because babel itself does not know the complete topology.
More precisely, every Babel node knows which are its neighbours. It
cannot distinguish between a second order and a third order neighbour --
this makes it difficult to reach nodes with more then one interface via
link-local when the routing protocol is not running.
Use IPv6 with an explicit node id:
ssh fe80::whate...@eth0
is there any way to change this?
No, and it wouldn't be completely trivial to change. There's currently
Could the controller build up the topology via route request messages
(section 3.4.10 of the rfc) unicast with a prefix of 0, instead?
In principle, it could. But consider what I say in Section 3 of the draft:
A Babel packet MUST be silently ignored unless [...] its source port
is the
Ciao Saverio,
I'm trying to test (again) AHCP on OpenWRT.
Great.
it was only IPv6, and it was completely stateless without server/clients.
That was AHCP 0. It was a very clean and very robust protocol.
I later tried to generalise the AHCP 0 design to stateful configuration
(AHCP 0.5), and
My core problem is that I don't ever get
network (eg, non /32 or non /128) routes distributed. I've tried all sorts
of variants of the conf file and it's evident that I just don't understand
something major
[snip]
redistribute local ip 192.160.7.0/24 eq 24 metric 128
redistribute local
Dear all,
I've spent much of last week-end on ahcpd. The main changes are:
- there is now a real configuration file;
- server selection is now being performed.
The first point means that the way to invoke a server-side ahcpd has
changed. Instead of the horrible -S, you pass it a
Dear all,
Version 0.51 of the Ad Hoc Configuration Protocol Daemon is available from
http://www.pps.jussieu.fr/~jch/software/files/ahcpd-0.51.tar.gz
http://www.pps.jussieu.fr/~jch/software/files/ahcpd-0.51.tar.gz.asc
For more information about AHCP and ahcpd, please see
Hi, I'm new to this community, could you please help me and tell me if
babel can be simulated on ns2.34 or not?
No.
I'd be very much interested in an implementation of Babel for ns; please
get in touch if you'd like to work on that.
Juliusz
As you certainly know, Babel refuses to redistribute routes with
a protocol number of boot; this is standard practice, and means that
you cannot easily redistribute the default route installed by dhcp.
I've just made it possible to redistribute such route by explicitly
specifying proto 3 on the
Dear all,
I'm currently in the process of rewriting the Babel draft. While the
new version is not quite ready yet, it's good enough for proof-reading.
http://www.pps.jussieu.fr/~jch/software/babel/draft-chroboczek-babel-routing-protocol.txt
In my never ending quest to find a safe way to experiment on a production
network with new routing protocols, I said to myself, self, why not try
a vlan?
Methinks you're over-complicating things. But well.
I can delete the link local address for the vlan's interface on the
normal linux
---BeginMessage---
A new version of I-D, draft-chroboczek-babel-routing-protocol-02.txt has been
successfuly submitted by Juliusz Chroboczek and posted to the IETF repository.
Filename:draft-chroboczek-babel-routing-protocol
Revision:02
Title: The Babel Routing
[Replying to the list by Dingo's permission.]
and im trying to figure out how to get neighbors and TQ ( Olsr ) in
babel, we looked at RX/TX but theres a whole lot of parsing
$ nc6 --idle-timeout=5 ::1 33123 | grep '^add neighbour '
add neighbour 80618e8 address fe80::4ca2:1bce:3271:f857 if
This is utter bullshit: babeld sets it properly, so you do not have to
bother.
Yep. You're under-estimating me again ;-)
Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
Hi,
Babeld-1.0 is available from
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.0.tar.gz
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.0.tar.gz.asc
There are virtually no changes in this version, but I am planning to
break Babel, and need a tag to branch at.
Yep. My current interest is working on frequency diversity --
something that Benjamin Henrion has shown can dramatically improve
the throughput in a mesh network. It's far from trivial, either from
a theoretical or implementation point of view, which makes it
particularly interesting for
Dear all,
It never fails -- you find a bug as soon as you make your first stable
release. Input filters were being ignored under some circumstances.
Babeld-1.0.1 is available from
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.0.1.tar.gz
Hi,
This year we got an Google Summer of Code entry for OLSR Android Maemo GUI:
http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/freifunk/t127230758933
Yes, I've seen. Excellent.
Could you please clarify how you intend to work around the lack of root
access on Android
Android does support ad-hoc once you change default WiFi configuration
a little bit.
Ah, okay.
The main issue remains, though -- you need to run the routing daemon as
root.
Does Babel have a way or retrieving/monitoring state of whole mesh? In
OLSR every node have knowledge about whole
Cell IDs show to be the same and I see what appears to be babel
packets going between the 5.8G radios
Do you only see sent Babel packets, or do you see received Babel
packets? (Look at the source address in your dumps.)
Are you able to ping the link-local IPv6 addresses of your neighbouring
Is there then some way of sending this data to a central server from
all nodes already implemented? Or for any interested in this data
party (like some announce that you are interested in this and every
node sends you data) so that you do not need to hard-code a central
server information but
Does it support asymmetric links?
Yes.
Maybe I have not asked the question correctly: does it selects (by
default) in both directions the best path (even if they are different)
or does it selects only one path which is the best for both
directions.
The Babel algorithm choses paths of
Hi,
Many of us spent last week-end at the third edition of the Wireless
BattleMesh in Bracciano, north of Rome, experimenting with wireless mesh
routing technologies. Here's a quick summary of the events, from the
perspective of the Babel routing protocol.
1. The main event
*
Code is there:
http://zumbi.netgroup.uniroma2.it/~clauz/rsyncs/wbmv3/results/babel-z.tar.gz
Benjamin, it'd be nice if you didn't publish this private branch without
coordinating with me first.
Please let me be very clear:
THIS CODE IS NOT READY TO BE USED IN PRODUCTION
someone want to provide a synapse breakdown of the thoughts and advantages
this brnach might/might not have/offer
Disadvantages:
- it is not known whether the theory is correct (I'm unable to prove it);
- the implementation is known to be buggy;
- the implementation is known to be
This seems to defeat the purpose of prefix length.
That was a typo. Fixed, and thanks for the report.
Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
---BeginMessage---
A New Internet-Draft is available from the on-line Internet-Drafts directories.
Title : The Babel Routing Protocol
Author(s) : J. Chroboczek
Filename: draft-chroboczek-babel-routing-protocol-04.txt
Pages : 50
This causes babel to quit with an assert error from end_message in
messages.c
Could you please try whether this is worked around by the following
patch? (Thanks to James W. Hubin for the debugging that lead to this.)
Juliusz
diff -rN -u
Dear all,
Version 1.0.2 of the Babel routing daemon is available from
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.0.2.tar.gz
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.0.2.tar.gz.asc
This version works around a gcc bug that would cause assertion failures
on MIPS.
where would this bug have been seen ? under what circustances? and is
it reproducable ?
http://mid.gmane.org/aanlktikol5jy2whws-emh-3n+zpsy39hjhhe0bljf...@mail.gmail.com
as well as private correspondence from somebody else (who might or might
not prefer to remain anonymous, I have no idea).
Do you know how does Babel compare to Predictive Wireless Routing
Protocol (PWRP)?
A quick search did not allow me to find any technical information about
PWRP. However, the URL you provide states that
Every other mesh vendor in the industry uses some variation on
wireline protocols such as
---BeginMessage---
Nathaniel Smith beat me to posting patches this weekend. [1]
See:
http://thread.gmane.org/gmane.linux.kernel.wireless.general/64733
For details.
Perhaps this will spark some discussion here and elsewhere.
Nathaniel Smith writes:
Thanks for the poke. I just sent the
Hi,
I'm going to send in the final version of the Babel draft tonight or
tomorrow. If you have noticed any typos. that's the right time to send
them to me.
Thanks,
--Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
I have some ideas for better routing metric and I didn't yet have time
to make anything concrete.
There's really no reason to put experimental metrics in the RFC. The
RFC contains two examples of metrics that are known to work well in
practice, and tries to make it clear that further research
Uh, I am from Slovenia, so this would require some traveling I do not
believe by budget allows me. Sadly. I would be glad to visit you.
Happily, 404 will be at WBM.
--Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
And also we like to use multicast for a lot of thing not only for
mdns, there is some plan to implement multicast routing on babel in
short terms?
I've certainly got plans to look at multicast, but not specifically for
Babel.
If you look closely at the way I'm designing things, you'll notice
To stir things even more: why not Mercurial? ;-)
Git is an infuriating piece of software, but with a great ecosystem.
Darcs is a great piece of software, but with no ecosystem to speak about.
Mercurial has the user-friendliness of Git with an ecosystem akin to Darcs'.
Sorry, but you started ;-)
---BeginMessage---
hi
In the following you'll find a quick summary of the measurements Henning and I
did in the last night of the battlemesh!
More detailed numbers can be found here (.pdf):
http://dabax.net/wbm/axel/summary/WBMv4-A-summary-details-x01.pdf
and here (.ods):
Interesting. Thanks to all of you for compiling this data.
Axel, could we have a histogram of the distribution of protocol packet
sizes?
A few comments, after staring at it for just a few minutes:
(1) I'm impressed by the good results of BMX6. Axel, is there
a detailed description of the
Hi, Mitar.
Does Babel require bidirectional reachability?
Yes, although routing is not necessarily symmetric.
In Cost Computation section it is written that if the txcost is
infinite, then the cost is infinite so probably this means such links
are seen as non-existent (worst cost).
No, you
even for such simple graph as:
A c B
there is not luck for me, as B cannot tell to the A that it received
the message from it
Right.
So how B tells A this? If I understand only with IHUs? Which are sent
only directly?
Right.
So if there is a bad link backwards this could make
the olsrd messges itself where using correct src adress (ath:4)
Ok.
but the olsrd routes did not specify the src ip (so it`s up to the kernel to
choose *G)
Neither does Babel, and Babel did apparently not have this issue.
Babel dumps routes in the kernel by specifying:
- dest, plen;
-
other approach is (like babel) to rely on the somewhat
unexpected/unexplainable differences in kernel for routes having a gateway,
and hope they do what we want in all conditions,..
Hmm... ip_rt_get_source(route.c) calls inet_select_addr with the gateway
as second parameter. If the gateway is
For my example:
A -- B -- C
If I have computer the shortest path to B (from A and C). Then when I
am computing shortest paths to C, I do not need to search any node
behind the B, when I reach B.
Ok, perhaps a more complex example will clarify things:
A -- B -- C -- D
The shortest path
For those of you who read French,
http://www.bortzmeyer.org/6126.html
-- Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/babel-users
Congratulations Juliusz!
Merci !
-- Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/babel-users
http://www.pps.jussieu.fr/~jch/software/files/babel-wireshark-20110407.patch
Almost completely untested. I'll submit it upstream after it has
matured a wee bit.
-- Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
It's upstream now -- r36518 in Wireshark's repository.
-- Juliusz
___
Babel-users mailing list
Babel-users@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/babel-users
Hi,
Just to let you know that support for Babel has been added to both
tcpdump (commit 6bfcf8 on 28 April 2011) and Wireshark (r36518, dated
8 April 2011).
Expect it in tcpdump 4.2 and Wireshark 1.5.2.
-- Juliusz
___
Babel-users mailing list
Dear all,
Babeld-1.1.1 is available at
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.1.1.tar.gz
http://www.pps.jussieu.fr/~jch/software/files/babeld-1.1.1.tar.gz.asc
For more information about the Babel routing protocol, please see
http://www.pps.jussieu.fr/~jch/software/babel/
I'm trying to port the babel protocol to TinyOS
Excellent news! What link layer are you going to be running over? What's
the hardware?
Is the TinyOS support going to be contributed back to me, or is it
proprietary? (I have no objection to proprietary derivatives, I just
like to be warned in
1 - 100 of 606 matches
Mail list logo