My Researching work on P4.
Notice: Current testing environment are not based on the latest version of P4. You can using the scripts under
docker/
to build a docker image for these tests. And all the examinations are running on software switch, a.k.a "bmv2", and I usesimple_switch_grpc
as demonstration.
Before getting started with P4 programming, we need a P4-capabled environment for running those scenario. And this repository summarize several methods and provide several way to accomplish.
- Build sucessfully with
Ubuntu 16.04.05
: - Also you can build your own test environment in docker:
- Using P4 virtual machine (via Oracle VirtualBox):
P4.ova
download : Completed P4 environment (Updated at:2018/9/30
).P4 (only with deps).ova
download : For develop environment of P4-related tools.
- More details under
src/
- Contain lots of P4 practices and scenarios, which based on the open source software switch - BMv2 and mininet, with P4Runtime support to finish those work.
Notice:
v0 users: You can found some tutorials in
branch:tutorials
v1 users: Use the master branch directly.
Learning how to build an ONOS application which support P4. See more detail under onos/
- Look here, have some diagram about P4Runtime's dependencies.
- If you don't want to use mininet, you can use
ip netns
instead. - Under
net/
, have a demo script for building several network namespace.
- Provide some learning resources about Networking, which located in course/.
- Welcome to contribute!
National Cheng Kung University, 瞿旭民 (Kevin Cyu), kevinbird61@gmail.com
- (2018/09/12) DigitalOcean - Hsinchu: Learning P4 from example (slide), (meetup.com)
- (2018/12/08) SDN x Cloud Native Taiwan User Group - P4 Intro & Demonstration (slide), (kktix.com)