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
- Host: GitHub
- URL: https://github.com/nklapste/a2sdn
- Owner: nklapste
- License: mit
- Created: 2018-10-10T14:11:55.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-22T15:49:20.000Z (over 7 years ago)
- Last Synced: 2025-03-29T16:27:08.204Z (over 1 year ago)
- Topics: cpp, university-course
- Language: C++
- Size: 978 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`.