[ovs-discuss] Simple MPLS experiment with OpenvSwitch

Dushyant Arora dushyantarora13 at gmail.com
Fri Mar 8 23:54:31 UTC 2013


Hello,

I am trying to run a very basic MPLS test. I have the following
versions of OpenvSwitch and Mininet:

$ ovs-vsctl --version
ovs-vsctl (Open vSwitch) 1.10.90
Compiled Mar  5 2013 16:25:06
$ mn --version
2.0.0

I have set up a simple topology using Mininet (one switch and two
nodes):          h1 -------[s1]---------h2

def emptyNet():

    net = Mininet( controller=lambda name: NOX ( name, 'NOXSwitch' ),
switch=OVSKernelSwitch )

    net.addController( 'c0' )

    h1 = net.addHost( 'h1', ip='10.0.0.1' )
    h2 = net.addHost( 'h2', ip='10.0.0.2' )

    s1 = net.addSwitch( 's1' )

    h1.linkTo( s1 )
    h2.linkTo( s1 )

    net.start()

    CLI( net )

    net.stop()

if __name__ == '__main__':
    setLogLevel( 'info' )
    emptyNet()

The NOX controller component is empty and does nothing.

If I set up the following rules, h1 can ping h2:
$ sudo ovs-ofctl add-flow s1 in_port=1,actions=output:2
$ sudo ovs-ofctl add-flow s1 in_port=2,actions=output:1

Now, I just want to see how a MPLS packet looks like, so I delete the
earlier rules and set up the rule below and start a wireshark capture
on the port 2:
$ sudo ovs-ofctl add-flow s1 in_port=1,actions=push_mpls:0x8847,output:2
but I don't see any packets on it.
I see ARP broadcasts on port 1, also $ sudo ovs-ofctl dump-flows s1 ,
shows packets are matching the flow rule
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=44.104s, table=0, n_packets=41, n_bytes=1722,
idle_age=0, in_port=1 actions=push_mpls:0x8847,output:2
but why don't I see the MPLS packets on the other side? Please help.

Thanks,

Dushyant



More information about the discuss mailing list