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

Antonin Bas antonin at barefootnetworks.com
Fri Mar 4 13:06:12 EST 2016


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?
>
> Thanks,
> Swaroop
>
>
> ------------------------------
> 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
>
>
> See
>
> https://github.com/p4lang/p4factory#integration-with-mininet
> https://github.com/p4lang/p4factory#integration-with-mininet-and-docker
>
> John
>
>
> 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 list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org
>
>
>
> _______________________________________________
> P4-dev mailing list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org
>



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


More information about the P4-dev mailing list