Record something useful information and experiments on P4.
This repository will record some information about how I learn P4 from hardly without any knowledge about networking.
So it will have some basic concept about networking command in Linux
, mininet API learning
, and some P4 spec
knowledge I read from p4.org/specs
, like PSA
, P4_16
. All the practices will base on P4_16
to illustrate.
- Repository Structure
- Installation
- About install the p4 develop requirement environment. See more under this folder.
- P4-playground
- multiswitch
- Using
mininet
with python API support - Contain some experiments with P4 and multiple switches scenario.
basic forwarding
multi-hop route inspection
load balancing (ECMP)
- Using
- run-directly
- Using
ip
command to build the network environment with single switch. - And then using
simple_switch
with P4 directly.
- Using
- run-mininet
- Using
mininet
to build the network environment with single switch. - And then using
p4_mininet.py
as P4 class. - Implement the basic forwarding scenario.
- Using
- net_build
- python script for building those scenario.
- psa
- Record some P4 programs.
- multiswitch
- Resource
- Contain the image usage, flowchart source.
- docs
- Recording some useful information when you coding an P4 program.
- And using
papogen
to generate them into static webpages.
- Installation
- Check out docs/
- using command
make
to generate it. - using
papogen
as generator.
- using command
- kevinbird61(Kevin Cyu, 瞿旭民)
- Nation Cheng-Kung University. Major in
Software-defined network
, especially focus onP4
.
- Nation Cheng-Kung University. Major in
This part record about some learning notes of mine, (About
P4
) Might help somebody know aboutP4
quickly !
Record some good website about catch up P4 concept.
- Official website of P4
- The latest specification about P4.
- SDNLAB - P4
- Some useful information in Chinese.
- p4lang - github
- tutorials about P4 goes here.
- Some good learning materials