-
Notifications
You must be signed in to change notification settings - Fork 12
Courses
TBD, nothing at the moment
University: Stanford University
Aims of the course: High-performance network system design. Students will work in teams of two to build a fully functioning Internet router. Students will design the control plane in Python on a linux host and will design the data plane in the P4 language on the NetFPGA SUME 4 x 10GE switch. For the midterm milestone, teams must demonstrate that their routers can interoperate with the other teams by building a small topology utilizing everyone's router. In the final 3-4 weeks of the class, teams will participate in an open-ended design challenge.
Target audience and prerequisites: Graduate and advanced undergraduate students that are interested in obtaining practical, hands-on experience. Prerequisites: (1) Experience with Python, (2) At least one member in each group should have a strong understanding of static router functionality.
Length of the course: 10 Weeks
Relation to P4: Students implement the data-plane of the router in P4 using the P4->NetFPGA workflow. Many teams also do interesting P4 projects during the design challenge.
Website: https://build-a-router-instructors.github.io/
Available material: There are two github organizations:
-
Build-A-Router-Instructors - Instructors should be added to this organization. It contains two repositories: (1) P4-NetFPGA-Router-Instructors which is a fork of the P4-NetFPGA-live repo that contains the solution for the Internet router assignment, (2) Build-A-Router-Instructors.github.io which is the repo for the course website.
-
Build-A-Router-Students - Students should be added to this organization. It currently contains one repository, P4-NetFPGA-Router-Students, which is also a fork of the P4-NetFPGA-live repo that contains the starter code for the router assignment. At the time the course is offered, instructors should also fork the p4lang/tutorials repo into this organization.
Status: This course was offered in Spring 2018 at Stanford. The class consisted of 12 students total, only three of which had any experience with HDL prior to taking the course. All teams were able to successfully build and test their routers within 6.5 weeks. All teams completed interesting, research-oriented, design challenge projects.
University: University of Cambridge
Aims of the course: A practical course providing an introduction to high-performance network devices. Covers aspects of realistic switch design, understanding network-device architecture and performance. Students are assessed based on a practical assignment: the design of a high-performance network device.
Target audience and prerequisites: Graduate students (Masters and PhD level), also taken not-for-credit by postdocs. Prerequisites include an undergraduate course in networking, good working knowledge of C/C++, ECAD, Unix.
Length of the course: 6 lecture hours, 10 (5x2) lab hours. Students are expected to do their project outside lab hours.
Relation to P4: Practical work (i.e. project) using P4-NetFPGA.
Website: http://www.cl.cam.ac.uk/teaching/current/P51
Available material: All the course's materials are available on the course website.
Status: The course last ran in Lent 2019 using P4->NetFPGA and SDNet 2018.2.
Wishful thinking: Creating an online P4-NetFPGA tutorial that compiles programs, like the NetFPGA verilog tutorial used for P33 (Building an Internet Router).
University: Karlstads Universitet
Aims of the course: A review of data plane aspects, and teaching how to program data planes using programming language such as P4. By the end of the course students will: 1) know the main theories behind data plane programming, 2) be able to apply P4 to problems such as data center load balancing, network monitoring, control and caching, 3) understand and critically reflect about the benefits and limitations of e.g. P4 language, and 4) be able to propose new data plane design and implementation aspetcs.
Target audience and prerequisites: Advanced level students and professionals from a wide variety of computer networking and telecommunication area as well as public organizations.
Length of the course: 19 weeks
Relation to P4: Teaching programming in P4
Website: https://hhk3.kau.se/dpp/
Available material: All the course's materials, including videos
Status: The course last ran in Winter 2019.
University: University of Lisbon
Aims of the course: To acquaint students with the state-of-the-art in networking research by reading and discussing fundamental networking papers (the vast majority from recent editions of SIGCOMM and NSDI). In addition, to gain experience with network programming using state-of-the-art research platforms (mininet, ONOS SDN controller, and P4).
Target audience and prerequisites: computer science graduates with background in computer networking.
Length of the course: 12 weeks (on average), 3.5h in class per week
Relation to P4: a 2h crash-course in P4, a 1h hands-on lab session, 1 programming assignment in P4 (to be extended)
Website:
Available material: description and templates of, and solutions to the P4 programming assignments available at https://github.com/netx-ulx/P4-tools.git
Status: the last edition was offered in the 2nd semester of the 2018/2019 academic year.
Please use the template below to describe a course
University:
Aims of the course:
Target audience and prerequisites:
Length of the course:
Relation to P4:
Website:
Available material:
Status: