Contributed by weerd on from the the-sum-of-all-evil-packets dept.
Berlin was a really convenient hackathon location for me, since getting there from Hamburg feels like a little longer S-Bahn ride. The fast ICE train makes it only a 90 minute trip. I arrived half a day later than intended due to work interfering, but I quickly got going.
I foremost wanted to do some follow up work now that the big ckecksum rewrite has matured a little bit. I wanted to remove the partial pre-calculation of the protocol checksums in the template Protocol Control Block (PCB) and the freshly inherited PCBs after accept. Doing so was easier and faster than expected. I spent an hour or two only on writing the diff, and about 2 days of convincing myself (by testing a LOT and verifying code paths through inspection and, again, testing) that it was actually right. I went on chasing a bug Stuart Henderson (sthen@) was seeing. I found 2 corner cases we didn't handle correctly (one fixed, one super rare case fixed in my tree but still to be committed) -- but not sthen@'s bug. Lawrence Teo (lteo@) spotted that one. I spent a lot of time with Alexander Bluhm (bluhm@) verifying logic in corner cases. The cksum handling is complex and being able to sit down together and think things through helped enormously. One more reason why hackathons are so important for our development.
With the last round of changes committed, we wanted to head towards the checksum handling being nicely contained in the in_proto_cksum_out and in6_proto_cksum_out functions. This means the rest of the stack doesn't have to do anything except to mark packets (or rather, pkthdr mbufs) as "needs checksumming". We make pretty optimal use of hardware offloading where available.
Aside from the work on the code it was really great to spend time with the other developers again. We had a lot of fun and very productive discussions in the hackroom, bars, and restaurants nearby. We also had an awesome night in Kreuzberg and I got back at the hotel at 7:30am, where they were just setting up for breakfast. Many thanks to everybody involved, especially Uwe Stuehler (uwe@) and Stefan Sperling (stsp@). It was a great little hackathon.
Thanks Henning for telling us about your efforts at the hackathon. We usually try to blame getting back to the hotel at 7:30am on jetlag, but in your case, no one would believe us.
(Comments are closed)