Submission Guidelines

Programming Assignment #5



Implementation Requirements

1- You should submit a tar file that contains the following directory tree:

P5
The root directory. It does not contain any files.
pingtrace
Contains the following files:
    • driver (the command line utility implemented in P4).
    • Makefile.
    • The source code of your implementation.
ftp
Contains the ftp application posted on the class web page (our code).
lib
Contains a library named libIPv6.a, the library should be generated by typing make in this directory. Use the rule:
libIPv6.a: $(OBJS)
ar rc libIPv6.a $(OBJS)

 

 2- There are three makefiles in this project, one in each directory. The files contain the following options:

      1. make node (creates an executable file named node, which is exactly the same as project 4 but using the newly created library ipv6lib.a).
      2. make clean (remove *.0, core, node, ?etc).
      3. make (makes node).

3- Your code should use the garb_sendto routine to send packets. You should never use sendto function in your code.

4- Like the previous programs, you should submit a tar file. The tar file should include the directory tree descriped above.

The code has to compile and run on the CSC cluster, i.e. on Alpha stations


Questions

1- How are you going to test my project?
There are two applications to be tested: ping & traceroute application, stored in the pingtrace subdirectory, and the ftpApp, stored in the ftp subdirectory. Both of them is using the library libIPv6.a. Before testing any of these applications, the library should be generated first by typing make in the lib subdirectory. Then to test each application, you type make in the corresponding directory to create executables: node (in pingtrace subdirectory) and ftpApp (in the ftp subdirectory).

2- How do I submit my project?
You make a tar archive and then call a certain program from my directory called submit. The exact path is

~jh41701/BIN/submit

Finally to submit your program, type

submit 5 filename

There is only one filename which is the tar file.


Grading Guidelines

These are only guidelines to give you a hint about what I am going to test in your code. The points may be redistributed later during grading the assignment.
 

Proper submission.

5

Readability and comments.

15

ping & traceroute application.

10

FTP application: sending a small size file

20

FTP application: sending large file

10

FTP application: sending multiple files.

10

FTP application: receiving data.

10

Error management (corrupted data, duplicate data packet, discarded data packet, ?etc). You should use garb_sendto routine to send all your IPv6 packets.

40

Total points: 

120