[P4-dev] How to connect two different P4 switch via veths

Swaroop Thool swaroopthool1991 at outlook.com
Sun Mar 6 21:02:10 EST 2016

Hello Antonin and all,Thank you very much. I got few pointers for my project. When I looked at topo.py which creates topology as mentioned in topo.txt and when we do ./run_demo.sh it uses source_routing.json file only. This means I can use the same single program on three different switch as per example. However, I want to use different .json file (means different p4 programs) on different switches. Is this possible by any modification? I want to keep copy_to_cpu like running procedure (not involving mininet) for real traffic that's why I want to find a way to run two different switches having different program which are connected by veth. Should I run switches with different thrift ports but how to connects there veths?...I am bit confuse.Thank you for your time.Thanks,SwaroopDate: Fri, 4 Mar 2016 10:06:12 -0800
Subject: Re: [P4-dev] How to connect two different P4 switch via veths
From: antonin at barefootnetworks.com
To: swaroopthool1991 at outlook.com
CC: p4-dev at lists.p4.org

If you want to run multiple switches, using Mininet is your best option. You don't need to use Docker images though, you can just reproduce what is done in the source routing tutorial exercise: https://github.com/p4lang/tutorials/blob/master/SIGCOMM_2015/source_routing/topo.py. This exercise uses a 3-switch & 3-host Mininet topology (https://github.com/p4lang/tutorials/blob/master/SIGCOMM_2015/resources/images/source_routing_topology.png). You can still use scapy on the 3 hosts to inject individual packets. As a matter of fact, that is exactly how the source_routing exercise operates.
Of course you don't need to do that, you can always do your plumbing manually even though that would be shooting yourself in the foot. If you have a veth0-veth1 pair, you can connect veth0 to your first switch and veth1 to your second switch. Mininet has the advantage that it takes care of the plumbing for you, as well as start linux containers for the hosts which lets you do more interesting things than just send individual packets with scapy (e.g. you can run a tcp flow).

On Thu, Mar 3, 2016 at 12:24 PM, Swaroop Thool <swaroopthool1991 at outlook.com> wrote:

Hello John and All,

Can you please elaborate? I never used it before.How Docker gonna 
help ? I dont want to use mininet now as I am using scapy. Moreover, I 
am able to run two different P4 program only after mentioning different 
thrift-port while starting each switch. So
how to connect this two switches via veth?


Subject: Re: [P4-dev] How to connect two different P4 switch via veths
From: john at barefootnetworks.com
Date: Wed, 2 Mar 2016 11:00:52 -0800
CC: p4-dev at lists.p4.org
To: swaroopthool1991 at outlook.com


On Mar 2, 2016, at 10:51 AM, Swaroop Thool <swaroopthool1991 at outlook.com> wrote:
Hello All,
I want to know, How to connect two veths(ports) of two different P4 switch?I want to send data process by one P4 switch to another P4 switch which implements different P4 programs. As of now, we can send packets from veth1(port1) and  sniff on veth6(port3) by scapy (from copy_to_cpu example).How to connect same port 3 of veth6 of 1st P4 switch to some incoming port of 2nd P4 switch?
Moreover, as I cannot run two instances (programs)on same P4 switch. Do I need to make another copy or folder of that switch (/targets/simple_switch)? and how to connect to other?Please help

Thanks,Swaroop Thool_______________________________________________P4-dev mailing listP4-dev at lists.p4.orghttp://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org


P4-dev mailing list

P4-dev at lists.p4.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20160307/e5730b52/attachment-0002.html>

More information about the P4-dev mailing list