-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
49 lines (38 loc) · 2.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
File: README
Date: Tue Feb 03 15:57:46 PST 2004
Last Modified: Sat Mar 26 21:23:45 PDT 2011
Author: Martin Casado / James Hongyi Zeng
///////////////////////////////////
// Greetings from your CS344 staff
///////////////////////////////////
Please read instructions on course website [http://yuba.stanford.edu/cs344/sw/basic-router/].
It's highly recommended that you get familiar with VNS by reading through Simple Router
assignment at http://yuba.stanford.edu/vns/assignments/simple-router/ before hacking :-)
Good luck!
///////////////////////////////////
// End of Greetings
///////////////////////////////////
This directory contains the code base for developing a functional
internet router that supports TCP and user level programs.
Decsription of Files:
- sr_main.c : The entry point to the full system. This starts the
lower level routing functionality in a seperate thread
and then idles in a sleep(..) loop. 'User level' network
code that use the standard bsd sockets can be run from main,
and if linked correctly will use the sr network underlayer.
- sr_base.c : Entry point to the full low level networking code. sr_base
is responsible for housing the "global" instance of the
router, starting the transport subsystem, and managing the
connection to the VNS.
- sr_integration.c : Contains all the methods which need to be
extended to support a full running router. This
includes callback methods for each packet, methods
to send packets, methods which pass in hardware
information etc.
- sr_vns.c : handles communication with the VNS server
- sr_dumper.c : Methods supporting writing packets in pcap format
- sr_lwtcp_glue.c : compatibility methods for integrating with lwip
- sr_cpu_extension_nf2.c : Contains code for interfacing with the hardware.
This file contains two methods that have to be
completed by the students and should be extended to
add support for register reads/writes.