We will use Canvas for Quizzes and Discussion Posts. Quizzes and Discussion Posts will not be graded but serve as a checkpoint. For credit-bearing course participants, taking the quizzes is required for participating in the assignments. Please log in with your Canvas account. For all others, please post your thoughts on Slack channel for the given module.
Module 1: Introduction to Data plane programming (DVAD41)
Quizzes and Discussion Posts (not graded)
-
- Discussion Post 1: Introduce yourself
- Quizz 1: Basic P4 questions (required for certificate)
- Discussion Post: What types of applications might be good candidates for network acceleration, and why? click here to submit your thoughts on Canvas.
- Discussion Post: How does moving Paxos logic into the network help application performance? click here to submit your thoughts
- Discussion Post: What are some challenges in verifying the correctness of a P4 program? click here to submit your thoughts
- Discussion Post: What are some challenges when applying P4 for 5G networks? click here to submit your thoughts.
- Discussion Post: Why is the P4 compiler so important? click here to submit your thoughts.
- Discussion Post: What kind of abstractions are important to identify for programmable data planes, and why? click here to submit your thoughts.
- Discussion Post: The authors discuss the difference between packet state and global state. What is the difference? Why is it difficult to have stateful programmable dataplanes? What would be a usecase to have them stateful (what can you do with stateful dataplanes that you cannot do with stateless dataplanes)? click here to submit your thoughts.
- Discussion Post: The “test suite” for your solution—sending a message from h1 to h2—is not very robust. What else should you test to be confident of your implementation after you finalized basic.p4? Although the Python scapy library is outside the scope of this tutorial, it can be used to generate packets for testing. The send.py file shows how to use it. click here to submit your thoughts.
- Discussion Post: How would you enhance your P4 program (after you finalized basic.p4) to support next hops? click here to submit your thoughts
- Discussion Post: Is this P4 program (after you finalized basic.p4) enough to replace a router? What’s missing? click here to submit your thoughts.
- Discussion Post: P4 Lab exercise on Basic Tunneling. What would you do to make this tunneling exercise a bit more interesting (and realistic)? How might you change the P4 code to have the switches add the myTunnel header to an IP packet upon ingress to the network and then remove the myTunnel header as the packet leaves to the network to an end host. click here to submit your thoughts.
- Quiz on the T4P4S compiler. The Quiz is available Here (required for certificate).
- Quiz on the ECN lab. The Quiz is available Here (required for certificate).
Assignment for Module 1 (graded)
-
- Module 1 Assignment on Canvas: This is mandatory for students taking the credit bearing course DVAD41. It is also mandatory for students who take course DVAD40 (link to assignment). Please log in with your canvas account. The assignment will be available from June 6th 2022 and is due at August 28th 2022.
- In order to obtain the points, you need to hand in the assignment. In addition, you have to pass a short oral examination. For schedule the examination, send email.
Module 2: Datacenter networking and loadbalancing (DVAD42)
Quizzes and Discussion Posts (not graded)
- Quiz on Datacenter networking. The Quiz is available Here (required for certificate).
- Quiz on DC.p4. The Quiz is available Here (required for certificate).
- Quiz on Conga and ECMP. Find the Quizz for Week 3 and 4 on Canvas (required for certificate), related to Webinar 2 of Module 2.
- Discussion Question on P4 based loadbalancing. It is available on Canvas here (required for certificate).
Assignment for Module 2 (graded)
- Module 2 Assignment on Canvas: This is mandatory for students taking the credit bearing course DVAD42. It is also mandatory for students who take course DVAD40 (link to assignment). Please log in with your canvas account. The assignment will be available from June 6th 2022 and is due at August 28th 2022.
- In order to obtain the points, you need to hand in the assignment. In addition, you have to pass a short oral examination. For schedule the examination, send email.
Module 3: In-network monitoring, caching and control (DVAD43)
Quizzes and Discussion Posts (not graded)
Assignment for Module 3 (graded)
- Module 3 Assignment on Canvas: This is mandatory for students taking the credit bearing course DVAD43 (send email). It is also mandatory for students who take course DVAD40 (link to assignment). Please log in with your canvas account. The assignment will be available from June 6th 2022 and is due at August 28th 2022.
- In order to obtain the points, you need to hand in the assignment. In addition, you have to pass a short oral examination. For schedule the examination, send email.
Practical Exercises
We have provided information for obtaining the required software and getting you started on our Gitlab https://git.cse.kau.se/courses/dvad40/vt19.
Course Certificate
For all participants that do NOT read the credit-bearing course, we can issue course-certificates. In order to claim a course certificate, you need to do all the Quizzes. As those are in Canvas only for credit bearing course participants, please provide a screenshot as proof that you took the quizz. See above which quizz you have to take for obtaining a course certificate.