[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openvswitch-discuss
Subject:    [ovs-discuss] OVS bug on Ubuntu 14.04
From:       stefano.salsano () uniroma2 ! it (Stefano Salsano)
Date:       2015-06-26 1:02:03
Message-ID: 558CA48B.4050605 () uniroma2 ! it
[Download RAW message or body]

Hi,

we are not able to push MPLS labels (even a single one) in Ubuntu 
14.04.1 LTS, with kernel 3.13.0-34 using open vswitch 2.390 (master branch)

previously it was working, for example we have no problem with kernel 
3.8.0-35 (in which we were also able to push multiple MPLS label)

as a simple test scenario, we use a mininet topology with 2 hosts and 
one ovs-kernel switch

H1 ----> SW -----> H2

SW is supposed to take ingress traffic from H1, push one MPLS label and 
forward to H2

the rules are installed in OVS and visible with ofctl, but when a packet 
enters the switch from H1, the packet is not forwarded (while the 
statistics are increased) and the following error is logged in 
ovs-vswitchd log:

2015-06-16T11:38:08.448Z|00179|dpif(handler9)|WARN|system at ovs-system: 
failed to put[create]
(Invalid argument) ufid:a89d1ff5-a023-42e2-ac9b-ba9c2ce87b06 
skb_priority(0/0), 
in_port(2),skb_mark(0/0),eth(src=a6:5d:18:53:e0:2e/00:00:00:00:00:00, 
dst=fa:d7:84:15:da:ff/00:00:00:00:00:00), eth_type(0x0800), 
ipv4(src=10.0.0.1/0.0.0.0,dst=10.0.0.2/0.0.0.0,proto=1/0,tos=0/0xfc, 
ttl=64,frag=no), icmp(type=8/0,code=0/0), 
actions:push_mpls(label=524296, tc=0, ttl=64, bos=1, eth_type=0x8847),1

2015-06-16T11:38:08.448Z|00180|dpif(handler9)|WARN|system at ovs-system: 
execute push_mpls(label=524296,tc=0,ttl=64,bos=1,eth_type=0x8847), 1 
failed (Invalid argument) on packet icmp, vlan_tci=0x0000, 
dl_src=a6:5d:18:53:e0:2e, dl_dst=fa:d7:84:15:da:ff, nw_src=10.0.0.1, 
nw_dst=10.0.0.2, nw_tos=0, nw_ecn=0, nw_ttl=64, icmp_type=8,i cmp_code=0 
icmp_csum:a411

the mininet script we use to reproduce the problem is attached below

thank you for your support

ciao
Stefano e Pier Luigi


-- 
*******************************************************************
Stefano Salsano
Professore Associato
Dipartimento Ingegneria Elettronica
Universita' di Roma Tor Vergata
Via del Politecnico, 1 - 00133 Roma - ITALY

http://netgroup.uniroma2.it/Stefano_Salsano/

E-mail  : stefano.salsano at uniroma2.it
Cell.   : +39 320 4307310
Office  : (Tel.) +39 06 72597770  (Fax.) +39 06 72597435
*******************************************************************

-------------- next part --------------
#!/usr/bin/python

import subprocess

from mininet.net import Mininet
from mininet.node import Host, OVSKernelSwitch, Node
from mininet.cli import CLI
from mininet.log import lg, info

def setup():

        lg.setLogLevel('info')

        net = Mininet(switch=OVSKernelSwitch, build=False, autoStaticArp=True )

        host1 = net.addHost("h1")
        host2 = net.addHost("h2")

        peo1 = net.addSwitch("peo1")

        net.addLink(host1, peo1)# N/A | 1
        net.addLink(host2, peo1)# N/A | 2

        net.start()

        #PEO1 Configuration
        root = Node( 'root', inNamespace=False )
        root.cmd('ovs-vsctl --no-wait set bridge %s protocols=OpenFlow13' \
%(peo1.name))  root.cmd('ovs-ofctl -O OpenFlow13 add-flow %s \
"table=0,hard_timeout=0,priority=32768,in_port=1,eth_type=0x800,actions=push_mpls:0x8847,set_field:524296->mpls_lab$
  root.cmd('ovs-ofctl -O OpenFlow13 add-flow %s \
"table=1,hard_timeout=0,priority=32768,in_port=1,eth_type=0x8847,mpls_label=524296,action=output:2"' \
%(peo1.name))

        CLI(net)
        net.stop()
        subprocess.call(["sudo", "mn", "-c"], stdout=None, stderr=None)


if __name__ == '__main__':
        setup()


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic