An open API service indexing awesome lists of open source software.

https://github.com/nklapste/a2sdn

CMPUT 379 Assignment 2
https://github.com/nklapste/a2sdn

cpp university-course

Last synced: 12 months ago
JSON representation

CMPUT 379 Assignment 2

Awesome Lists containing this project

README

          

# a2sdn

CMPUT 379 Assignment 2

## Description
A c++ program that implements the transactions performed by a simple linear SDN.

### Controller Mode
The program can be invoked as a controller using `a2sdn cont nSwitch` where `cont`
is a reserved word, and `nSwitch` specifies the number of switches in the network
(at `mostMAXNSW=7` switches).

### Switch Mode
The program can also be invoked as a switch using
`a2sdn swi trafficFile [null|swj] [null|swk] IPlow-IPhigh`. In this form, the
program simulates switch `swi` by processing traffic read from file `trafficFile`.
Port 1 and port 2 of `swi` are connected to switches `swj` and `swk`, respectively.
Either, or both, of these two switches may be `null`. Switch `swi` handles traffic
fromhosts in the IP range `[IPlow-IPhigh]`.

### Other Requirements
Each IP address is `≤MAXIP(= 1000)`.

Data transmissions among the switches and the controller use FIFOs.

Each Connection is named `fifo-x-y` where `x=/=y`, and `x=0` (or, `y=0`) for the controller, and
`x,y∈[1,MAXNSW]` for a switch.

Thus, e.g., `sw2` sends data to the controller on `fifo-2-0`.