This repository hosts the distribution package of Programming Assignment 2 for the NUS CS5229 Advanced Computer Networks course.
Please find the detailed description readme file of each task under the corresponding folder.
There are two exercises, namely "A-1: Multicast" and "A-2: Secret Message Exchange" which can be found from the respective subfolders.
Each exercise will constitute 4% each -- total of 8%.
Part B consist of only one exercise, see the folder part_b/switchml
.
This exercise constitutes to 10% of your final grades.
You should only submit multicast.p4
, secret.p4
and switchml.p4
to the designated folders created on Canvas.
This Assignment is a strictly individial work.
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 made it easy to create new exercises.
This assignment is inspired by NSDI 2021 Scaling Distributed Machine Learning with In-Network Aggregation.