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:
- The manager process correctly spawns a process for each node
(5pts)
- The manager creates a TCP socket and accepts connection
requests
from each router process (5pts)
- The router processes create UDP sockets and exchange link
establishment messages with other routers (5pts)
- The router processes correctly exchange LSP messages (5pts)
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):
- your program prints complete forwarding tables even if they
are
wrong (5pts)
- your program prints all forwarding tables, with at least half
of
the entries correct (5pts)
- your program prints all forwarding tables with all entries
correct (20pts)
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.