Skip to content

commlab513/P4-Inband-Network

Repository files navigation

P4-Inband-Network Testbed

This repo is for building a P4IBN Testbed.

System requirement:

Hardware:
CPU: Intel i7 serise
RAM: 16 GB
Physical interfaces: 6
(1 interface for testbed control port, 5 interface for switch ports)
Software:
Username: user
Password: user
[You can modify the username and password, but make sure the username and password in p4-compiler.py are also updated. ]
OS: Ubuntu 20.04.4
Python: 3.8.10

Installation:

Controller:
Install OVS from apt: sudo apt install openvswitch-switch
Install Protocol buffer, gRPC, P4Runtime: The installation refer to github (https://github.com/jafingerhut/p4-guide)
P4 Switch
Install Iperf from apt: sudo apt install iperf Install Protocol buffer, gRPC, Behavioral Model v2 (bmv2) : The installation refer to github (https://github.com/jafingerhut/p4-guide)

Testbed Configuration

  1. Modify the control IP addresses form the PM information JSON file at ./topology-profiles.

The control IP address is used for startup/shutdown P4 switch, and SSH connection to switches.

  1. Compile P4 switch behaviors
    Since the authentication code are different, the compiler helps to generate difference authentication code for each P4 switch.
    The swinfo.json collected all switch informatiom, it used for the controller authenticating new switches.

python3 ./p4-compiler.py

  1. run shell script to test system.
    run_sft.sh for single failure test.
    run_mft.sh for multiple failures test.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors