Hi all, I've just finished updating the stub router the software guys will need to complete their first objective. It's been hurriedly hacked together, so no doubt their are bugs; as such I've hosted it as a Git repo for easy updating as I fix things. It's here git://github.com/smowton/bir-stub.git Deviations from the course website: 1. Most interesting integration functions are now in sr_router.c|h, including init, init-after-interfaces-up ("hw_setup"), send-packet, process-incoming-packet, and a few others. 2. The integ_add_interface function is gone, because the newest version includes interface enumeration logic as standard. See sr_if.h for the interface to discover your router's interfaces. 3. The new version of the router defines its own structure representing an IP header, in sr_protocols.h. If any example code uses instead, this might conflict. 4. Various function names are slightly different: sr_integ_input has become sr_handlepacket, and a couple of others I can't remember right now. hopefully the names and explanatory text in sr_router.c are reasonably helpful. 5. Proper authentication has been implemented: you'll need to use the authorisation key from your VNS account as described in the guide below. Two big caveats: 1. Because the standard router doesn't do anything with packets, the LWTCP functionality is untested. I'll knock up the very basics of a router tomorrow to test this and fix as necessary. 2. The old version on the Cambridge website could transform into a mode in which it worked with NetFPGA2 hardware rather than using Stanford's virtual network system. This is missing for now but shouldn't be a problem as I believe software/hardware integration doesn't happen for a while yet. How to get the new version going: git clone git://github.com/smowton/bir-stub.git make Save your auth key from http://vns-1.stanford.edu/user/$CRSID/ as auth_key Save the routing table from http://vns-1.stanford.edu/topology$NNN/rtable/ as rtable ./sr -t $NNN Where $NNN is the topology number assigned to you[r team], and $CRSID is your Cambridge username (e.g. mine is cs448). Bug reports, complaints and/or threats to cs448@cam.ac.uk please. Chris