Project 3 Grading Policy


Step 1. Did you submit all requested files and in the required format? (10pts)

Only one tar file is expected in your submission. There should be at least five files (two .c,.cc or .cpp files, one .h file, one Makefile, and one README file) in the tar file. You may have more files but not fewer. After extracting your tar file, TA will look for CLEAR instructions on how to compile and run your program, and the current status of your code in the README file. If your program does not compile or run, We expect to find a statement to that extend in the README file, with a short description of the current status of your code.

Step 2. Does your program compile cleanly? (10pts)

Running "make all" should compile your entire project.
Program must compile without errors.

Step 3. Does your program run with no error messages and creates the required output files? (10pts)

TA will choose topologies of up to 10 nodes and about 12~15 edges and create the corresponding input files. Your program should run and create the output files named described in the specification of the project. You MUST describe in your README file how long to wait before your program will terminate! TA will assume it is stuck in an infinite loop. If that's the case TA will grade based on whatever files were created up to that point. Each process should print a clear message as it terminates.

Step 4. Do your manager and router processes communicate correctly? (20pts)

Output file and code will be checked for:

Step 5. Does your routing algorithm work correctly? (30pts)

Your routing algorithm should print the forwarding tables for each node in the output file. The forwarding table must contain the next hop for each other router based on the shortest paths. TA will grade this part of the project based on the resulting forwarding tables as follows (you will collect points for each successful step):
Point allocation for partially completed steps (e.g., your program prints only some of the tables with some correct) will be at my discretion.

Step 6. Does your program forward packets correctly? (20pts)

TA will ask your program to send 5 packets from some source to some destination and look for the paths the packets follow in your output file. Each correctly forwarded packet will receive 2pts. If all packets are forwarded correctly, you will receive other 10pts.