kevinbird61 / p4-researching

Testbed/Tutorials/Researching work on P4.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

p4-researching

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 use simple_switch_grpc as demonstration.

Environment Setting

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.


About this repository

P4 (with Mininet)

  • 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.

P4 with ONOS

Learning how to build an ONOS application which support P4. See more detail under onos/

Tracing P4Runtime

  • Look here, have some diagram about P4Runtime's dependencies.

Build network namespace

  • 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.

Learning Materials

  • Provide some learning resources about Networking, which located in course/.
  • Welcome to contribute!

Author

National Cheng Kung University, 瞿旭民 (Kevin Cyu), kevinbird61@gmail.com

Activities


Reference

About

Testbed/Tutorials/Researching work on P4.

License:GNU General Public License v3.0


Languages

Language:P4 48.2%Language:Python 36.8%Language:Java 9.0%Language:Shell 4.2%Language:Makefile 1.1%Language:Dockerfile 0.4%Language:Go 0.2%Language:Starlark 0.2%Language:C 0.0%