Skip to content

eastzone/cs344-sw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

de24c67 · Apr 26, 2011

History

27 Commits
Jun 1, 2009
Mar 30, 2009
Mar 27, 2011
Mar 30, 2009
Mar 27, 2011
Mar 30, 2009
Mar 27, 2011
Mar 27, 2011
Mar 27, 2011
Mar 30, 2009
Mar 30, 2009
Apr 7, 2009
Mar 27, 2011
Mar 27, 2011
Apr 26, 2011
Mar 30, 2009
Apr 26, 2011
Mar 30, 2009
Mar 30, 2009
Mar 30, 2009
Mar 30, 2009
Apr 26, 2011
Mar 30, 2009
Mar 30, 2009
Mar 30, 2009
Mar 27, 2011
Mar 27, 2011
Mar 27, 2011

Repository files navigation

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.