P4VPP Project Meetings
Weekly Project Meetings are currently every second Monday at 8:00 am PT, 11:00 am ET, 4:00 pm IT with the next meeting date listed at the bottom of this page. As the community grows, this project meeting time may shift to accommodate more geographies. Audio/Web Conferencing details:
Meeting number: 204 722 006
Meeting Password: p4-vpp (740877 from phones)
To join from a browser: https://cisco.webex.com/ciscosales/j.php?MTID=m917fa25f6ee9f022acc3d42d2d4cd07c
To join directly via phone: +1-408-525-6800 Call-in toll number (US/Canada) +1-866-432-9903 Call-in toll-free number (US/Canada)
Next Meeting: Monday, January 22nd, 2018
Meeting Minutes, Action Items
Sept 18th, 2017
Andy Keep - Present current status of Project and High level design details: P4VPP Status 9-18-2017
Skip Booth - Create P4VPP Wiki structure and Setup Webex meeting (Done)
Cian - Kick the tires on the initial implementation and start to map the P4 V1Switch and PSA externs into VPP Libraries
Goal is to get the initial code migration from the private Github repository into the Gerrit repo by Oct 2nd.
Next meeting on Sept 25th, 8:00 am PT
Sept 25th, 2017
Andy - Presented status update on his work. Mentioned that checksum would be a good extern to implement.
Cian - Will investigate manual modification of code to test initial implementation and work on implementing a library for the checksum extern.
Oct 9th, 2017
Andy worked on IR builder and infra for externs (packet in + verify). IR builder is used for most things. Has worked on merging.
Skip spent time making sure what we are generating can be connected up to VPP as a plugin. Uses the latest master of VPP to test the generated code.
Johann Tonsing and David George from Netronome to apply for access to team members not on the call interested in the project.
Plan is to use standard VPP repo. Old repo built plugin in tree. Plugin should be compilable out of tree with VPP installed. Add to makefile to check what version of VPP would be installed. Make based off this. Have a trusted tag. Have a test script that validates behaviour with static and run time integrity testing. There are some nice to haves here, which won't be available at first.
Having P4 files from Netronome to target specific use cases and prioritise certain features would be useful.
Netronome has found having IR in files to be useful for visualisation tools.
Oct 23th, 2017
- Points on making a roadmap
- Todo type list has been outlined in the project repo (ISSUES.md)
- JIRA might be a good place to hold this
- Short term Roadmap:
- Encap/decap of headers
- Support of additional externs
- Nice to have some prioritisation there (counters first step)
- Table support is needed.
- Get multi node support (makes more sense for larger programs)
- Johann thinks it might be useful to think of usecases
- One source of sample code is linked (https://github.com/open-nfpsw)
- A number of p4 samples of increasing difficulty.
- Agrees with need for encap/decap
- Telemetry is an interesting use case, encap/decap and counters. Gives you something to show off, a collection of features which work together.
- There is an IETF draft for in band telemetry. Links:
- Johann mentioned unit tests, is there a framework in mind to run tests and keep results.
- Andy: A framework was built up in a previous project. This has not been ported over to VPP to push traffic through yet. Skip had put together a testing script for bringing up VPP and a P4 program within it.
- Johann: Netronome has something in this area, he will see what the best way of making this stuff available is.
- Tables are the priority, are being worked on, hopefully will go in next week, encap/decap will take a few weeks, counters can be worked on in parallel
- Johann asked about travelling to DPDK summit, p4 workshops. Andy won't be going to the next p4 workshop.
- There is a Netronome hosted developer day in early December (8-9th). Going to be about P4/Smart NIC/EBPF. Going to be an additional hackathon day. Johann would like if p4vpp was in good shape for this, people could try out different things with this project.
- Testing involves running script which looks through p4 14 and 16 programs and compiles these programs, produces Makefile and runs Makefile. List of unknown supported features within python script, these will be excluded. Not at the point where traffic is sent through the p4 compiled switch.
- Release Cadence
- We have freedom in determining what the release cadence will be. This is still open to discussion.
Next meeting on November 6th, 8:00 am PT