This repository hosts the distribution package of Programming Assignment 1 for the NUS CS5229 Advanced Computer Networks course.
This assignment constitutes to 8% of the final grades.
It consists of four exercises:
- Fake Ping (1%)
- A Hidden Drop Facility (2%)
- Learning Switch (2%)
- Simple L3 Router (3%)
-
You should only submit
fake_ping.c,dead_drop.c,learning_switch.c, andsimple_l3_router.cto the designated folders created on Canvas. -
Note that submissions that do not follow the naming convention will incur a 50% penalty.
-
Code that does not compile will automatically receive a score of 0.
This assignment is constructed by adapting the build scripts and PTF examples that are publicly available at p4-guide by Andy Fingerhut.
In addition, we also adapt existing scripts and tools from p4lang's P4 Tutorials which provided the framework for the DPDK programming exercises.
The assignment was primarily designed manually by the teaching team. Importantly, the provided skeleton code and test cases used for evaluation are developed by the teaching team and are not generated by any AI tools. The teaching team has rigorously tested the code to ensure its correctness. However, portions of this DPDK programming assignment were developed with assistance from generative AI tools, including GitHub Copilot and ChatGPT, for purposes like developing the assignment framework, drafting the README, adding logging statements in the code, scripting, etc.