BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//P4 - Language Consortium - ECPv6.15.20//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-ORIGINAL-URL:https://p4.org
X-WR-CALDESC:Events for P4 - Language Consortium
REFRESH-INTERVAL;VALUE=DURATION:PT1H
X-Robots-Tag:noindex
X-PUBLISHED-TTL:PT1H
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
TZNAME:UTC
DTSTART:20170101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=UTC:20180606T080000
DTEND;TZID=UTC:20180606T183000
DTSTAMP:20260426T172638
CREATED:20250912T220229Z
LAST-MODIFIED:20250915T231501Z
UID:10000116-1528272000-1528309800@p4.org
SUMMARY:P4 Developer Day
DESCRIPTION:A presentation by the P4 Language Consortium\nHeld at Stanford University on Wednesday\, June 6\, 2018\nSpecial Thanks to our Sponsors:\n    \nVirtual Machine\nWe have created a virtual machine that has all of the software needed to complete the developer day exercises already installed. You can either download a virtual machine image or build it from source. Note that both of these procedures can take around 45 minutes depending on the speed of your network connection. \n\nTo download the virtual machine image\n\nInstall VirtualBox\nhttps://virtualbox.org\nDownload virtual machine image\nP4 Tutorial 2018-06-01.ova\nImport virtual machine into VirtualBox\nOpen VirtualBox\, select “File > Import Appliance”\, and navigate to the downloaded file.\nBoot virtual machine\nSelect “P4 Tutorial 2018-06-01”\, and click “Start”.\n\n\nTo build the virtual machine from source\n\nInstall VirtualBox\nhttps://virtualbox.org\nInstall Vagrant\nhttps://vagrantup.com\nClone the tutorial repository\n$ git clone https://github.com/p4lang/tutorials\nNavigate to the vm directory\n$ cd tutorials/vm/\nBuild the virtual machine\n$ vagrant up\n\n\nFinal steps\nAfter the machine boots\, you should have a graphical desktop with all required software pre-installed\, logged in as username “p4” (with password “p4”).\n\nSlack\nWe will use Slack to make it easy for participants to ask the TAs questions. \n\nRegister at bit.ly/join-p4-lang-slack\nJoin the #d2-2018-spring channel\n\nPigeonhole\nWe will use Pigeonhole to manage questions during the panel. \n\nRegister at pigenhole.at\nEnter the event code P4D2\n\nSlides\nThe slides presented by the instructors at the developer day can be accessed here. \nP4 Cheat Sheet\nThe P4 cheat sheet that was distribtued to attendees at the developer day can be accessed here. \nAgenda\n\n\n8:00 – 8:30am\n\nRegistration and Breakfast\n\n\n\n\n\n8:30 – 9:00am\n\nTechnical Set-up for Hands-on LabIn order to complete the Developer Day exercises\, we will distribute a virtual machine with all required software installed.\n\n\n\n\n\n9:00 – 9:10am\n\nWelcome and IntroductionsSpeaker: Nate Foster (Cornell University)\n\n\n\n\n\n9:10 – 10:30am\n\nIntroduction to Data Plane ProgrammingInstructor: Stephen Ibanez (Stanford University)\nLanguage BasicsInstructor: Stephen Ibanez (Stanford University)Session 1 will provide a hand-on introduction to P4. Students will start by implementing a “Hello World”-style application to gain an understanding of P4 concepts. The lesson will progressively introduce core language features\, such as header/metadata types\, packet parsers\, and controls. By the end of this session\, students will be able to implement a basic IP router.\n\n\n\n\n\n10:30 – 11:00am\n\nBreak\n\n\n\n\n\n11:00 – 12:30\n\nP4 RuntimeInstructor: Brian O’Connor (ONF) Session 2 will cover software tools that are essential to developing P4 applications. Students will learn how to invoke the the P4 compiler\, run the debugger\, and start a P4 software switch. This session will also introduce the control-plane interfaces via P4 Runtime\, a protocol-independent API auto-generated from the definition of a packet processing pipeline written in P4.\n\n\n\n\n\n12:30 – 1:30pm\n\nLunch\n\n\n\n\n\n1:30 – 2:00pm\n\nKeynote: “Revisiting In-Network Control” Arvind Krishnamurthy (Washington)Abstract: Emerging programmable switches allow for flexible and reconfigurable packet processing at line rate. These emerging technologies address a key limitation with traditional SDN solutions that allow for only custom-plane customization but not data-plane customization needed by traffic management protocols that perform “in-network” control and per-packet processing.Despite their promising new functionality\, reconfigurable switches are not all-powerful; they have limited state\, support limited types of operations\, and limit per-packet computation in order to be able to operate at line rate. In this talk\, I describe how we can address these limitations by using novel approximation techniques and implement previously unrealized protocols that require in-network control. Our work thus represents a modest step towards enabling a “software defined data plane” that provides greater performance and isolation for datacenter applications.\n\n\n\n\n\n2:00-3:00\n\nMonitoring and DebuggingInstructor: Mina Tahmasbi Arashloo (Princeton University)Session 3 will focus on a set of labs related to network monitoring and debugging. In this session\, students will gain a deeper understanding of P4 language concepts\, including custom headers and intrinsic metadata. In the first exercise\, students will implement Explicit Congestion Notification (ECN) to set a congestion bit in a packet header when the queue depth exceeds a threshold. In the second exercise\, MRI\, students will implement a simplified version of In-Band Network Telemetry to track the path that packets travel through the network.\n\n\n\n\n\n3:00 – 3:30pm\n\nBreak\n\n\n\n\n\n3:30 – 4:30pm\n\nAdvanced Data StructuresInstructor: Nate Foster (Cornell University)Session 4 covers advanced data structures. In this session\, students will implement two data-plane applications. In the first\, source routing\, end-hosts specify paths through the network by using a stack of labels in the packet header. The switch must “pop” each label and forward out the appropriate interface. In the second\, students will implement a network calculator. Packets containing arithmetic expressions are sent to a switch. The switch will evaluate the expressions\, and return the results back to the sender.\n\n\n4:30-5:30\n\nPanel DiscussionModerator: Ben Pfaff (VMware)Panelists:\n\nBochra Boughzala (Kaloom)\nUyen Chau (ON.Lab)\nChris Sommers (Keysight)\n\n\n\n\n\n\n\n5:30-6:30\n\nReception
URL:https://p4.org/event/p4-developer-day/
CATEGORIES:Events
END:VEVENT
END:VCALENDAR