OpenBSD Journal

g2k18 hackathon report: Florian Obser on rtadvd(8) -> rad(8) progress (actually, rewrite)

Contributed by Peter N. M. Hansteen on from the sixing up the routes is totally rad dept.

Fresh from the just concluded hackathon in Ljubjlana comes our next report from Florian Obser (florian@) who writes:
Sometimes you have to roll the hard six.

I have been trying to bolt a standard OpenBSD parse.y based config file onto rtadvd(8) for about a year now. I could not do it. The code base is just too weird. There are other bugs lurking as well and I have a hard time fixing them.

About two weeks before the hackathon I had an evening to waste and thought how hard can it be to write an IPv6 router advertisement daemon from scratch? After all if nobody comes from the future to stop you, how bad can the decision really be?

Enter our new router advertisement daemon, rad(8).

I arrived in Ljubljana with the parser mostly finished, data structures correctly filled and configtest mode (-n) produced correct output. After one and a half days of hacking it responded to router solicitations and it was time to commit it.

In total it took 9 days from start to hitting the tree. But those where not 8 hour days, some evening here and there or the odd one hour train commute.

I spent the rest of the hackathon implementing more features (it should have mostly feature parity with rtadvd(8), hacking a bit on mg(1) and having a good time in Ljubljana.

Thank you very much Mitja and all the other people who made g2k18 possible.

Thanks for the report and all the hard work, Florian!

(Comments are closed)

  1. By Mike. (maple) on

    Thank-you for the new conf syntax!


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]