[Babel-users] babeld wishlist

Juliusz Chroboczek jch at pps.univ-paris-diderot.fr
Wed Dec 9 17:48:09 UTC 2015


Dear Dave,

Here, at Babel Towers, we are busy working on Babel, working on babeld,
lecturing undergrads, correcting exams, writing papers, and protesting
against the stupidity of the current state of emergency.  We have all but
given up on having a life outside of work.

You will therefore doubtless understand that we must be very selective in
our choice of things to do with Babel and babeld.  My policy, which has
served us well, is to concentrate on features requested by people who
actually are trying to solve a problem in deployment, and to ignore things
that would be cool to have but are not actual issues impeding deployment.

My current plans are, in order of urgency:

 - tweak things until Kosko (Jernej) and Mitar tell me they're running
   unpatched babeld in their mesh, then release the result as 1.7.0;
 - add a configuration interface that suits the Nexedi people, so they can
   abandon their local hacks;
 - integrate the babeld/hncpd pair into Debian so that one can do "apt-get
   install hncpd" and have a working Homenet router;
 - find a chair and prepare a Babel IETF meeting for Buenos Aires.

Please keep this in mind when reading my answers below.

> ** Working channel diversity selection based on the current linux wireless api

Yes, but that's some tedious work.  Patches gratefully accepted.

> ** Correct channel diversity for 802.11ac

No idea what needs to be done.

> ** Fast channel switching in light of a DFS changeover

That's not babeld's job -- babeld asks the kernel for link layer
parameters, but doesn't tweak the link layer itself.

> ** Channel selection integration support with hncpd

Interesting idea.  Probably an open research problem, though.

> ** full debian/ubuntu/fedora/arch support

L'intendance suivra.

> ** clean restarts and other reconfiguration

Yes, this will happen.  A lot of tedious work, unfortunately.

> *** openwrt procd support
> *** systemd support

Nothing needs to be done -- babeld is a single process that doesn't
daemonise by default, it works fine from inittab, runit, procd and other
sane init systems.

(There is no need for explicit notification, socket activation or other
gratuitious complexity, whatever the self-nominated Linux experts claim.)

> ** Version output in the monitoring interface

Yes, this will happen.  Matthieu mentions it whenever he gets a chance.

> ** similar to existing useful on olsr plugins or interfaces to babel's
> monitoring interfaces, whatever they are

Huh?

> ** more unicast instead of multicast
> lower the load on wifi

Easy to implement, but difficult to test.  Who'll do the testing?

> ** short haul metrics based on rtt and congestion
> I know, I know, I keep wanting to do this but it is stuck on per
> station queuing working at all in any wifi driver which is my big job
> next year

Baptiste implemented everything you asked for, Dave, we'll still waiting
for your testing results.

> ** Bird version finished
> *** IPv4?

Unfortunately, that's not possible until we get support for an IPv4 data
plane in bird6.  Please start a discussion on bird-devel, I'll chime in.

> ** Atomic route updates
> example patch for quagga: http://patchwork.quagga.net/patch/1435/

Who'll do the testing?

> ** ECN and rate control for larger networks

We've discussed this before -- ECN is the wrong thing to use here.  We'll
hopefully get some data from our Slovene friends that will show whether we
need better rate control.

> ** Covering/collapsing routes and interdomain routing

Automatic aggregation is tricky -- as far as I know, nobody's ever managed
to pull it off.  You want to speak with Sobrinho.

> ** what can be learned from BGP?

I'm reasonably familiar with BGP, Dave, and Babel already integrates
a number of good ideas from BGP.

> ** Faster dead link detection with switches that support it

A lot of work, and a lot of testing.  Who'll do the testing?

> ** Koruza support

Koruza is a purely physical layer device -- it appears as a plain
Ethernet, and uses a standard Ethernet transceiver.  Nothing needs to be
done -- and nothing can be done.

> ** many radio types (802.11ad, lte, bluetooth, 802.14 etc) supported
> sanely at the same time (6 radios, say...), gradual route optimization
> over such

Who'll do the testing?

> ** Homeplug vs ethernet routing selections

Homeplug appears as an Ethernet to the upper layers, you need to send
proprietary 802.2 frames to find out that there is one.  You probably want
to speak with Barbara Stark.

> ** Rebuild quagga patches for babel based on GPL sources (from bird?)

No way.  I'm not going to try to work with the Quagga crooks again.  Let's
give up on Quagga, as much of the routing community appears to have done.

> ** source specific routing tested at more scale with things like tinc

Who'll do the testing?

> ** ns2/ns3 support

Yes, we need that.  That would be a good fourth year project if I find
two students that are good enough.

> ** rfc7298 support in everything

Yes.

> ** Testing over WPA encrypted and other sorts of semi p2p networks
> like, for example the 24ghz airmax products

Who'll do the testing?

> ** Better dhcp/babel integration for hosts that wish to participate

Doesn't that happen automatically when using hncpd or hnetd?

> ** better mobility for hosts running a stubby babel

Yeah, sbabeld needs some love.

> ** Babel fuzzer and more testing of misaligned data

Yes.

> ** A pony

A ratel, an aardvark, even a mule would do, but certainly not a pony.

-- Juliusz



More information about the Babel-users mailing list