This planet aggregates posts related to version control and
distro packaging.
Please refrain from using it as a discussion
forum.
You can add your own feed to the list of feeds.
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
about it:
[…] 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
network configuration dhclient obtained to the local
machine! Yay! Genius!
You are my heroes.
NP: Pluto: Pipeline under the Ocean
Posted Tue 05 Aug 2008 16:53:08 UTC
Here’s my full
proposal (txt, 7.3k). Here’s probably the most useful
information from the proposal, my proposed week-by-week timeline:
- Before 5/26: Study the current netconf codebase, document and clean up code, write tests, stash away old documentation and code in current repo
- Week 1 [5/26]: Implement inet6 /etc/network/interfaces methods
- Week 2 [6/1]: Implement inet6/v4tunnel method
- Week 3 [6/8]: Design policy system and config format, initial implementation
- Week 4 [6/15]: Finish implementing policy system
- Week 5 [6/22]: Implement netlink socket listener + events
- Week 6 [6/29]: Implement wireless-tools and wpa-supplicant integration
- Week 7 [7/6]: Continue implementing wireless-tools and wpa-supplicant integration
- Week 8 [7/13]: Mid-term GSoC reviews; At this point, we should be very close to 1.0. The time that follows should be used as buffer space for things that may end up taking longer than estimated. Assuming a perfect world, full moon, and star alignment, the following weeks will be used to implement optional fun features.
- Week 9 [7/20]: Implement LinkLocal integration
- Week 10 [7/27]: Implement Additional DHCP options, http_proxy options
- Week 11 [8/3]: Implement ppp/wvdial functionality [Martin has offered to supply the hardware if necessary]
- Week 12 [8/10]: Run through the TODO [3] and implement minor leftover features
- Week 13 [8/17]: GSoC 2008 ends; have a beer

- After week 13: Continue to work with the netconf team to get 1.0 out the door; begin work on next challenges
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
Posted Tue 22 Apr 2008 12:24:00 UTCYou 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.
As a network operating system, Linux has DHCP support (and had
it for ages). In true Unix fashion, Debian sports at least four DHCP clients.
Debian’s default is dhcp3-client, also
known as dhclient.
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 EXPIRE.
So much for the theory.
It seems that dhclient is rather stupid, which I
tried to document in bug
#459813 — it does things differently: given a lease, after a
certain period of time, it just issues an EXPIRE
event, which causes the operating system to deconfigure
the interface and take down connectivity. Then, the client spits
out a PREINIT event, followed by BOUND or
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 /sbin/dhclient-script and
monitor the output file. Once your client renews, it should
read:
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 EXPIRE and
BOUND.
NP: The Flower Kings: @Live Recording, Uppsala City Theatre, Sweden, 10 February 2003
Posted Wed 09 Jan 2008 10:59:36 UTCIf you care about netconf and wonder what’s the current status, you might want to ingest the status update I sent to the netconf-devel mailing list.
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
Posted Tue 28 Aug 2007 14:18:29 UTCThis message just went out to the debian-devel mailinglist:
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).
If you don’t know what I am talking about, check out the wiki page and slides from my last talk. Then subscribe.
Thanks for your attention; that is all.
NP: Trentemøller: The Last Resort
Posted Tue 08 May 2007 16:09:20 UTCEntries are updated every 16 */3 * * * (yes, this
is cron).