This repository hosts the distribution package of Programming Assignment 3 for the NUS CS5229 Advanced Computer Networks course.
This assignment contains only one exercise and it constitutes to 4% of the final grades.
The objective of this assignment is to integrate your sketch implementation from PA2 with DPDK to monitoring the underlying network traffic and react accordingly given specific requirements.
- You should only submit
monitoring.cto the designated folder 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.