Routing reading

Jeroen Ruigrok posted a whole pile of links to routing information for anyone wanting to work on it:


TCP Vegas: End to End Congestion Avoidance on a Global Internet

Evaluation of TCP Vegas: Emulation and Experiment

TCP and Successive Fast Retransmits

Congestion Avoidance and Control

Performance Problems in BSD4.4 TCP

Comparison of Tahoe, Reno, and SACK

TCP Vegas: New Techniques for Congestion Detection and Avoidance

A Tree-based Packet Routing Table for Berkeley Unix


TCP Vegas Revisited

Analysis on TCP Vegas and TCP Reno

Scalable Timers for Soft State Protocols

End-to-End Internet Packet Dynamics

End-to-End Routing Behavior in the Internet

Routing with a Clue

IP Lookups using Multiway and Multicolumn Search

Fast and Scalable Layer Four Switching

High-Speed Policy-based Packet Forwarding Using Efficient
Multi-dimensional Range Matching

Fast Address Lookups using Controlled Prefix Expansion

Slab, multicast, sysinstall, SysV

The memory slab allocator is now on by default, and the old system is gone.

Man pages for pim(4) and multicast(4) for “Protocol Independent Multicasting”, are in.

Sysinstall has been modified with changes for NFS; you can pick NFSv3 (default) and TCP protocol (not default), now, along with some internal changes.

The SysV IPC regression test suite has been added, in src/tools/regression/

Checkpointing is in

Kip Macy’s checkpointing code has been committed; I’m pasting Matt Dillon’s post about it as there’s a lot of issues to consider.

For those of you late to the party, checkpointing allows you to “freeze” a copy of an application so that, in theory, you can restore the program to that running state at a later point in time. Useful, for instance, if you have a program that takes a long time to complete and you don’t want to have to restart from the beginning if there’s an interruption.
Continue reading “Checkpointing is in”

Doxygen don’t

David Cuthbert brought up the idea of Doxygen headers for the source; Matt Dillon didn’t care for the idea, pointing at this for an example. Hiten Pandya noted that he’d like to have a separate by-hand handbook, for which Eirik Nygaard posted a possible example. Matthew Fuller added that he is working on a SGML application for library documentation as part of another project.


While noting that he has made a number of changes to the scheduler, Matt Dillon described a new tool called ‘wmake’. wmake allows you to run make in a subdirectory simulating a buildworld environment, without actually having to build world.

(quoted from his post, using libkvm for an example:)
cd /usr/lib/libkvm
wmake obj
make install

Bootsplash loader and gzip

Emiel Kollof noted that it would be nice if the splash screen loaders could read gzipped files, so that any splash screens could be stored in a compressed format and still used. Hiten Pandya pointed at kern/imgact_gzip.c and boot/i386/kgzldr/boot.c for examples, if anyone wants to tackle this project.

/bin/sh fixed

/bin/sh had a big introduced recently that would make it crash when booting with a new world. It’s been fixed, so recompile /bin/sh with updated sources when possible.

Installing from source

I wrote down the explicit steps I used to get a DragonFly machine running and up-to-date; I’m including them here for the benefit of others. This was working as of mid-September.

** Updated December 2003; silly typos.

** Update February 2004: This guide was written using FreeBSD 4.8 as a guide; it may break. There is a guide page on that talks about upgrading from FreeBSD 4.9.
Continue reading “Installing from source”