[Cerowrt-devel] cerowrt-next plans

dpreed at reed.com dpreed at reed.com
Fri Nov 23 16:26:18 EST 2012

Regarding AHCP...  it occurs to me that AHCP might be a better choice than the alternatives for use in Amateur Radio internet environments with IPv6.
I would like to see a very future-oriented approach to IPv6 in Amateur Radio.   There are some quirks in the rules for Amateur Radio that mean that Amateur Radio subnetworks (unlike "open wireless" networks) have to have every message transported directly traceable to a licensed operator, cannot be obscured, and cannot contain "music".   (I know, the rebel in me feels this is not a good thing, but when operating with my Ham hat, I understand the reason to color within these lines, in order to be a "good netizen" in Ham circles, and to be constructive in gaining support from the various constituencies that support Amateur Radio's special status worldwide. There is no benefit whatever to using terms like "war-driving" in conjunction with Amateur Radio just to get your name in the papers).
It's perfectly reasonable to carry IPv6 traffic as datagrams over radio networks operated by cooperating Amateurs. (and could be hugely beneficial in situations like Hurricane Sandy)  What we don't have is a "stack" that is best tuned for this style of internetworking.
Part of the stack needs to include IPv6 address assignment and routing, and also bufferbloat-prevention.  My thought is that AHCP and other components useful for Cerowrt deployment would be suitable for an Amateur Radio IPv6 stack.  Also, I have some ideas about low-level ways to ensure that there is always a responsible, licensed "control operator" for any messages delivered over Amateur Radio-licensed IPv6 transport paths, which I have begun working on.
That long discursion suggests that a simple AHCP server and client implementation would be very, very helpful in a wider scope of usage.  One that brought IPv6 to Raspberry Pi might be just the ticket, since interfacing such a board to off-the-shelf transceivers is pretty easy for many Ham hobbyists.  (beware - you really should be aware of the "band management" done by the ARRL, so you stay in the subbands where digital signalling is encouraged.  The 1.2 GHz band and above are preferable, and maybe the digital portion of  440 MHz, esp. if you don't disrupt the FM phone activity there).
-----Original Message-----
From: "Dave Taht" <dave.taht at gmail.com>
Sent: Friday, November 23, 2012 12:27pm
To: cerowrt-devel at lists.bufferbloat.net, "bloat-devel" <bloat-devel at lists.bufferbloat.net>
Subject: [Cerowrt-devel] cerowrt-next plans

I did finally get around to booting the ubnt linux 3.6.7 build I
talked about yesterday.

Yea! It worked.

Boo! I have a ton of patches to modify to get back to equivalence with
what's in cerowort-3.3.8-27

So I'm planning on forking the "stable" cerowrt 3.3 repository for new
development on 3.6,
and am calling it cerowrt-next. I may blow it away entirely and rebase
on openwrt. Nobody

In the interim perhaps I'll stick up the ubnt-3.6.7 code, but there
seems to be no demand, sooo...


* Steven Walker made a bunch of updates to ceropackages the other day,
I haven't tested.
 thx steven. If anyone wants an updated ccnx-6.2, in particular, it's there...

* Openwrt Head
* Radvd must die - in favor of either dnsmasq or quagga


* IPv6 performance patch
* Multiple versions of fq_codel
* QFQ+
* Wireless diffserv patch
* Memory reduction patches in pfifo_fast and codel

Whatever other patches didn't make it up to openwrt

New development:

* Randomness/entropy framework infrastructure buildout
 The new randomness frame in 3.6 and later requires driver support in
order to work well.
 Good crypto in things like WPA, and SSL requires good entropy.

A lot of people have been thinking "ooh, random numbers fixed in
embedded linux since 3.6"

Um, no. Well, partially...


* TCP Fast Open test support
 TCP fast open is supported server side in 3.6. There is some
preliminary support for it in netperf now

* AHCP in dnsmasq

 After watching the deliberations on homenet, and knowing ahcp fits a
niche not addressed there,
 and knowing that it solves a need that cannot be met by SLAAC, dhcp,
dhcp-pd, or ospf+pd,
 and after losing many battles with ahcpd, and knowing AHCP NEEDS TWO
 to go ietf standard track...

 I started hacking on the core idea one weekend 18 months ago. I
figured if I just got a couple weekends
 more free I'd be able to get the protocol into dnsmasq at the cost
of a couple k in binary, and save a mb of ram.

 I decided that dnsmasq was the right place to stick it, given that
it managed address assignment
 already for multiple other protocols. It turns out than an AHCP
server is even simpler than the
 client. I then started having some thoughts towards having prefix
distribution and border discovery in it...

 and felt that writing a fresh implementation would be a good start
towards understanding these
 complex issues.

 Sadly, those weekends have not happened yet.  :(

 It would be nice to find someone to work with to continue getting
this into dnsmasq. ? Even as an exercise,
 it's a good exploration into how ipv6 multicast actually works....

 Anyway I just folded in somepatches that compiled and opened up the
port into the current dnsmasq tree
 and put it up on github. It does very little else...

 My github repo for dnsmasq-ahcp: https://github.com/dtaht/dnsmasq-ahcp
 Protocol Specification:
 existing ahcp server/client code and doc:

 Alternatively getting another ahcp server written in another
language would be good.

* DLNA (?)
* small DHCP-PD support

Wide is not working out, isc and dibbler are too huge. It's time for
someone to write a small one... (not me!)

Other suggestions for the upcoming development cycle?

Dave Täht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
Cerowrt-devel mailing list
Cerowrt-devel at lists.bufferbloat.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/bloat-devel/attachments/20121123/a8a65c44/attachment-0002.html>

More information about the Bloat-devel mailing list