Testing Phase1 Router FILES: the following files should present in the working directory - test1.pl the testing script - Makefile and source code - topoXX the topology file assigned to you. XX is the topology number. - rtable the regular routing table file - rtable2 a modified routing table file, with an invalid gateway to the application server. E.g., if the regular rtable is 172.24.74.213 172.24.74.213 255.255.255.255 eth1 172.24.74.228 172.24.74.228 255.255.255.255 eth2 0.0.0.0 172.24.74.17 0.0.0.0 eth0 Change the gateway to an address that does not exist in your topology, say 172.24.74.100: 172.24.74.213 172.24.74.100 255.255.255.255 eth1 172.24.74.228 172.24.74.100 255.255.255.255 eth2 0.0.0.0 172.24.74.17 0.0.0.0 eth0 *** Your router will be tested on a different topology. Make sure you don't hard *** code anything about your topology in the source code. RUN TESTS: 1. re-compile binary: make clean; make; Don't submit the binary. I'll recompile it using your source code and Makefile. 2. start the router: ./sr -t XX -s vns-1.stanford.edu -r rtable; 3. in another terminal, test ping, traceroute and web. (ftp will not be tested.) ./test1.pl topoXX ping all; ./test1.pl topoXX tr all; ./test1.pl topoXX web all; The above tests the most important functionality, (1)-(4) listed in http://www.cs.arizona.edu/classes/cs525/fall07/project/assignments/sr.html. A working router should be able to breeze through these simple tests. In most cases the ping test should return 100%. If your router has persistent packet loss (< 100%), there's something wrong with the router. 4. stop the router. 5. start the router with logging turned on and use the modified routing table. ./sr -t XX -s vns-1.stanford.edu -r rtable2 -l logfile; 6. in another terminal, ./test1.pl topoXX unreach; This will ping application server 30 times, and then send a TCP packet to the router itself. 7. stop the router. 8. examine the log file: tcpdump -r logfile; I'm looking for correct behavior according to the required functionality (5)-(8) listed in http://www.cs.arizona.edu/classes/cs525/fall07/project/assignments/sr.html: since the gateway to application server is invalid, your router should send 5 ARP requests before timing it out and sends back a Host Unreachable message; not losing packets while waiting for the ARP reply; caching the ethernet address of the default router (to internet) for 15s; responding with a Port Unreachable message to the TCP packet.