Discussion:
[Cerowrt-devel] hacking on babel 1.8.3
Dave Taht
2018-10-03 22:57:01 UTC
Permalink
I've been trying to deploy the latest openwrt to all ~40 routers I
have. (I did get a reprieve on having to close the lab, but I have to
update the whole campus as part of it).

Anyway after some struggle with a bridge, I ended up being able to
deploy openwrt to about half the campus so far. The two major blockers
are the ipv6 issue I mentioned here, and the speed issues we've also
discussed (though I can just throw hardware at it on 3 of the
gateways).

But I took a deep dive on some long standing issues in babel and
finally got around to doing something about it, establishing a bug
tracker, trying to make it faster, and do atomic routing updates and
so on.

In particular, it really looked to me as though a faster qsort would
speed up babel
by quite a bit but my first attempt at an inline version didn't work.
If anyone is bored and wants to debug an enormous macro, it's here:

https://github.com/dtaht/babeld/issues
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Dave Taht
2018-10-04 03:40:44 UTC
Permalink
never mind. I got the inline qsort to appear to work in the
babeld-xnor branch. The atomic branch is still problematic. Off to see
how to go about improving xroute import on the morrow

https://github.com/dtaht/babeld/commits/babeld-xnor
Post by Dave Taht
I've been trying to deploy the latest openwrt to all ~40 routers I
have. (I did get a reprieve on having to close the lab, but I have to
update the whole campus as part of it).
Anyway after some struggle with a bridge, I ended up being able to
deploy openwrt to about half the campus so far. The two major blockers
are the ipv6 issue I mentioned here, and the speed issues we've also
discussed (though I can just throw hardware at it on 3 of the
gateways).
But I took a deep dive on some long standing issues in babel and
finally got around to doing something about it, establishing a bug
tracker, trying to make it faster, and do atomic routing updates and
so on.
In particular, it really looked to me as though a faster qsort would
speed up babel
by quite a bit but my first attempt at an inline version didn't work.
https://github.com/dtaht/babeld/issues
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Mikael Abrahamsson
2018-10-04 14:27:45 UTC
Permalink
Post by Dave Taht
I've been trying to deploy the latest openwrt to all ~40 routers I
have. (I did get a reprieve on having to close the lab, but I have to
update the whole campus as part of it).
I managed to get Homenet working on 18.06.1. There is a conflict with some
files so you have to do "opkg remove" on the dhcpv6 server, but after that
it installs cleanly and seems to work. I installed it on two machines and
they did all the homenet+hncp+babel things.

One thing I discovered is that I would like DHCPv6-PD lifetime capping, so
I can control the source address selection of hosts. I had two different
upstreams with PDs and one had much longer lifetime compared to the
other. So hosts chose the one with the highest lifetime, which wasn't what
I wanted.
--
Mikael Abrahamsson email: ***@swm.pp.se
Dave Taht
2018-10-04 14:33:33 UTC
Permalink
Post by Mikael Abrahamsson
Post by Dave Taht
I've been trying to deploy the latest openwrt to all ~40 routers I
have. (I did get a reprieve on having to close the lab, but I have to
update the whole campus as part of it).
I managed to get Homenet working on 18.06.1. There is a conflict with some
files so you have to do "opkg remove" on the dhcpv6 server, but after that
it installs cleanly and seems to work. I installed it on two machines and
they did all the homenet+hncp+babel things.
Next stop a few hundred. on someone elses testbed...

My main issue with hncp (3 years back) is it wanted to assign an IPv6
address to *everything*
and I only have /60s to spare, and I didn't want to assign public ipv6 addresses
to internal routers at all.
Post by Mikael Abrahamsson
One thing I discovered is that I would like DHCPv6-PD lifetime capping, so
I can control the source address selection of hosts. I had two different
upstreams with PDs and one had much longer lifetime compared to the
other. So hosts chose the one with the highest lifetime, which wasn't what
I wanted.
I'm rather impressed with how far odhcp has evolved since I last looked and
had some code in it to manage times better but probably not what you want.

https://github.com/openwrt/odhcpd

In particular I was *really impressed* by the clean interface to netlink.
Netlink is a PITA to deal with.

It could use some more ebpf support.
Post by Mikael Abrahamsson
--
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Loading...