The most important point probably is: if you want to work on netconf, I'll be readily available for questions on the mailing list, even though I cannot expend much time to hack myself over the next four months.
But I will consider coaching anyone who would like to contribute and wants to be coached in doing so. So don't hesitate and let me know, and consider telling me a bit about what kind of projects you have worked on in the past.
NP: Mono: Under the Pipal Tree
I am very excited to announce that Jonathan Roes has successfully applied to the Google Summer of Code 2008 and will be working on netconf over this summer. With his help, I am confident that netconf 1.0 in Debian "lenny" is no longer a dream.
Jonathan is a soon-to-be computer science graduate from the University of North Carolina at Charlotte, and his application was (by far) the most convincing of the ten I received. He has several years of programming and Linux experience and it's quite obvious that he has understood the philosophy of netconf.
I am looking forward to working with Jonathan!
NP: Underworld: Second Toughest of the Infants
Thank you, Ted Lemon and Paul Vixie for the ISC DHCP server and client! My days would be so boring without them. I revel in your wisdom, experience, and sheer genius when I get behind some of the design decisions you made when writing those pieces of software.
My current favourite is the hook integration into
dhclient-script(8). Read what the manpage has to say
[…] the client script checks for the presence of an executable
/etc/dhcp3/dhclient-enter-hooksscript, and if present, it invokes the script inline, using the Bourne shell
.command. The entire environment documented under OPERATION is available to this script, which may modify the environment if needed to change the behaviour of the script.
Hooks which can modify the environment and thus influence all
other hooks that follow, as well as the script which applies the
dhclient obtained to the local
machine! Yay! Genius!
You are my heroes.
NP: Pluto: Pipeline under the Ocean
You are probably using DHCP on the machine currently in front of you. The "Dynamic Host Configuration Protocol" is a way for your computer to obtain an Internet address from a pool of available addresses, and to return it to the pool when you no longer need it. Basically every Internet service provider uses DHCP, or something similar.
The theory is that the client requests an address lease from the
server and periodically renews it. This process yields a number of
events, to which the operating system can react. For instance,
initially, the client issues a
PREINIT event to get
the interface into a state where it can talk on the network, and a
BOUND event as soon as it acquired a lease, or
FAIL if it, uh, failed.
After a certain period of time, the client tries to renew the
lease. If it succeeds, it issues a
RENEW event; if it
fails, it yields
So much for the theory.
It seems that
dhclient is rather stupid, which I
tried to document in Debian
bug #459813 — it does things differently: given a lease, after
a certain period of time, it just issues an
event, which causes the operating system to deconfigure
the interface and take down connectivity. Then, the client spits
PREINIT event, followed by
FAIL, as appropriate.
I have not quite investigated what all this means, but this much is for sure: periodically, your machine goes offline, only to come back online a second later. If this were Windows, one would probably knock on wood and be glad that it works at all. But we're on Linux here, Debian even, so this cannot be.
I'd love to be proven wrong, so if you have a minute, please try to verify. One way of doing so is to insert
echo "$(date) got $reason" >> /tmp/dhclient-script.reasons
towards the top of
monitor the output file. Once your client renews, it should
Wed Jan 9 11:53:27 CET 2008 got RENEW
but instead you'll see
Wed Jan 9 11:53:27 CET 2008 got EXPIRE Wed Jan 9 11:53:28 CET 2008 got PREINIT Wed Jan 9 11:53:33 CET 2008 got BOUND
and if you look closely enough, your interface will be
unconfigured those seconds between
NP: The Flower Kings: @Live Recording, Uppsala City Theatre, Sweden, 10 February 2003
Even though I am still somewhat physically limited, my brain today decided to start on the netconf development. And since we all know that the waterfall model is the One True Model and that Extreme Programming no solution, I started by drafting a document, nothing formal, just thoughts on how to implement the various parts of netconf. And open questions I already know need to be answered.
I shall be posting this document to the netconf-devel mailing list sometime soon and am looking for comments (and answers and helpers). The purpose of this message is to get interested people to subscribe. Please do so that we can keep debian-devel free of this and so that I can get more feedback (and potentially help).
Thanks for your attention; that is all.
NP: Trentemøller: The Last Resort