Giter Club home page Giter Club logo

p4_int's Introduction

INT using P4

We have a linear topology with 8 switches as shown in below figure INT p4Runtime Topolgy

  • Out of these 8 switches 4 are bottleneck switches as they are rate limited. All the switches are P4's bmv2 model backend target simple_switch_grpc which talks over p4Runtime API to remote python based custom Controller.
  • Implement Traffic Engineering using the below topology. Here S3,S4,S5,S6 are bottleneck switches and the numbers on the each ports is the queue rate for that particular port. Once the queue depth crosses the threshold, the controller will dynamically adjust the egress port of the flow to load balance equally on all egress ports of the S2 switch.
  • The contoller will burn the p4 program and install rules into the switches using p4Runtime API.
  • Before running the P4 programs please ensure you have mininet and p4c-bm2-ss(p4-16 compiler) installed on your machine.
  • To install mininet please follow the instructions from here : https://github.com/mininet/mininet/blob/cf6da391fa4a9271071dff59b41c9fe4e74277dd/INSTALL#L47
  • To install p4-16 compiler please foolow this link : https://github.com/p4lang/p4c
  • How to run program Follow instructions from the file Instructions_to_run.txt

p4_int's People

Contributors

vksysd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

p4_int's Issues

USING P4_INT

Hi, good morning, can you help me? Because in the test that I am working on I can not make the system work properly, because I do not know how to use the * .py commands below, since I can only generate send packets, receive packets do not generate and consequently do not generate the network analysis when I use this program. Can you help me?

euclidesfjr@kaxassa:~/P03/P4_INT-ORIGINAL/P4_INT/INT_headerstack$ ls -lrt *.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 1035 Jan 12 17:54 original_send.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 3272 Jan 12 17:54 original_receive.py
-rw-rw-r-- 1 euclidesfjr euclidesfjr 713 Jan 12 17:54 cpu_plot.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 5202 Jan 12 17:54 receive_udp.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 12874 Jan 12 17:54 receive_udp_no_packets_h1.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 14269 Jan 12 17:54 receive_udp_multithreaded_h2.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 14661 Jan 12 17:54 receive_udp_multithreaded_h1.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 4554 Jan 12 17:54 receive_tcp.py
-rw-rw-r-- 1 euclidesfjr euclidesfjr 8052 Jan 12 17:54 receive_tcp_normaldist.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 8052 Jan 12 17:54 receive_tcp_normaldist_original.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 8282 Jan 12 17:54 receive_tcp_multithreaded.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 330 Jan 12 17:54 process_deq.py
-rw-rw-r-- 1 euclidesfjr euclidesfjr 345 Jan 12 17:54 print_packets.py
-rw-rw-r-- 1 euclidesfjr euclidesfjr 2555 Jan 12 17:54 populate_sx_xommands_file.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 391 Jan 12 17:54 tcp_single_send.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 492 Jan 12 17:54 tcp_single_receive.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 1938 Jan 12 17:54 send_udp.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 3354 Jan 12 17:54 send_udp_normaldist.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 1424 Jan 12 17:54 send_tcp.py
-rwxrwxr-x 1 euclidesfjr euclidesfjr 3370 Jan 12 17:54 send_tcp_normaldist.py
-rw-rw-r-- 1 euclidesfjr euclidesfjr 225 Jan 12 17:54 send_tcp_flows.py

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Because I can not generate * .pcap files for IN (input), only OUT (output). Can you help me? Since I can not get the network to communicate between IP addresses.

INT PROGRAM RESULT ANALYSIS

Hi, good afternoon, I explored all of your code that is available on this portal, but I realized that the system does not change the results, I tried to configure it to increase some links with bandwidth and make connections between hosts, but I could not. How can I do so I can connect the hosts and change the bandwidth in this scenario? Well I would like to do some tests with other bandwidth and with less switches.

Thanks alot,

Euclides.

Operate repository

Hi ,
I would like to know how to run this repository.
I had successfully run up the mininet but I can't ping each host successfully.

Thanks a lot , wish you can help me.

a problem

HI,I have a problem about the implemente the INT environment,in the p4lang(github.com/p4lang) has some project about the INT,I want to know which project is perfect to install the INT?

REPRODUCING YOUR NETWORK NOT INT

Hello, I tried to reproduce your network, but in the file run.sh exit a file to unzip tar -czf build / p4app.tgz * --exclude = 'build', but in your git there is no such file: p4app.tgz
Could you make me available to do some tests? I need to do research studies, and I'm learning how to use p4lang and INT as well.

Thank you very much for your attention,

Euclides.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.