Skip to content

Skazza94/P4-SRv6-Live-Live-Behaviour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P4 SRv6 Live-Live Behaviour

Directory structure

  • experiments: contains experiments scripts used for the paper
  • lab: contains the Kathará network scenario, without the P4 source code
  • p4src: contains the P4 source code implementing the SRv6 Live-Live behavior
  • sim: contains the ns3-bmv2 simulator source code, that allows to the same P4 source code into ns3

Emulation Hands On

You need to install Kathará first. Follow the installation guide on the official repository.

Run the Network Scenario

To run the network scenario and experiment by yourself:

make run

This will copy the p4src folder into the lab folder and start the scenario.

To clean the scenario:

make clean

Run the Evaluation experiments

Go into the experiments folder and install the Python3 requirements:

python3 -m pip install -r requirements.txt

You need at least Python3.11 to make it work.

To reproduce the same experiments of the paper, from the root folder:

make experiments_emulator

This will create a folder experiments/results containing the results.

To plot the results:

make plot_experiments_emulator

This will create a folder experiments/figures containing the figures of the paper evaluation.

If you want to run the experiments manually:

experiment_n_path.py <result_path> <max_path> <n_runs>

This will run a scenario with an increasing amount of multipaths from source to destination with four different configurations:

  • Single: represents solutions that steer the traffic over the best path that has been pre-compute
  • Random: random multi-path selection
  • No Deduplication: same as SRv6 Live-Live but without the final deduplication
  • SRv6 Live-Live

Parameters:

  • <result_path>: path where to store the experiment results
  • <max_path>: experiments will be run from 2 paths to <max_path> paths
  • <n_runs>: number of runs for each experiment

Simulation Hands On

ns3 simulatiors are located into the sim folder. We build a Docker container with p4c and ns3 to run the experiments without requiring to install dependencies on your host.

To build and start the container:

make start

When starting the container, the host ns-3.40 folder will be bind-mounted (if you want to edit files or to get experiment results).

In the container, enter the ns3/examples/srv6-live-live folder. Here you will find different .sh files to reproduce the experiments of the paper.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •