[ovs-discuss] Reg pushing two mpls labels

kunapaneni prashanth prask9 at gmail.com
Thu Nov 20 11:26:03 UTC 2014


Hi,
 i am using the latest openvswitch code to try out mpls. Can someone
help me with this.

with single lable push and pop, i am able to ping between two hosts
and can see kernel datapath entries installed.

 Now, when testing with two labels, i am running into a problem. I
don't see any datapath entries being installed and all packets are
re-directed to userspace.


also, in Rx direction, where i had to pop two mpls labels, flow
installation is failing.

i installed following flows

ovs-ofctl  add-flow br0 "table=0,priority=99,dl_type=0x806,actions=normal"

ovs-ofctl  add-flow br0 "table=0,priority=98,in_port=2,actions=resubmit(,2)"
ovs-ofctl  add-flow br0
"table=2,priority=97,in_port=2,actions=push_mpls:0x8847,resubmit(,3)"
ovs-ofctl  add-flow br0
"table=3,priority=97,in_port=2,dl_type=0x8847,actions=push_mpls:0x8847,set_mpls_label:10,output=1"

ovs-ofctl  add-flow br0
"table=0,priority=98,in_port=1,dl_type=0x8847,mpls_bos=0,actions=pop_mpls:0x8847,resubmit(,1)"
ovs-ofctl  add-flow br0
"table=1,priority=98,in_port=1,dl_type=0x8847,mpls_bos=1,actions=pop_mpls:0x800,output:2"



i can see from packets counts that these flows are being hit.


[root at localhost openvswitch-2.3.90]# ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=419.658s, table=0, n_packets=0, n_bytes=0,
idle_age=419, priority=98,mpls,in_port=1,mpls_bos=0
actions=pop_mpls:0x8847,resubmit(,1)
 cookie=0x0, duration=419.674s, table=0, n_packets=418, n_bytes=40964,
idle_age=0, priority=98,in_port=2 actions=resubmit(,2)
 cookie=0x0, duration=419.680s, table=0, n_packets=25, n_bytes=1266,
idle_age=6, priority=99,arp actions=NORMAL
 cookie=0x0, duration=419.651s, table=1, n_packets=0, n_bytes=0,
idle_age=419, priority=98,mpls,in_port=1,mpls_bos=1
actions=pop_mpls:0x0800,output:2
 cookie=0x0, duration=419.669s, table=2, n_packets=418, n_bytes=40964,
idle_age=0, priority=97,in_port=2
actions=push_mpls:0x8847,resubmit(,3)
 cookie=0x0, duration=419.664s, table=3, n_packets=418, n_bytes=40964,
idle_age=0, priority=97,mpls,in_port=2
actions=push_mpls:0x8847,set_mpls_label(10),output:1


kernel datapath has following flows

[root at localhost openvswitch-2.3.90]# ovs-dpctl dump-flows
recirc_id(0),in_port(4),eth_type(0x0800),ipv4(tos=0/0xfc,ttl=64,frag=no),
packets:164, bytes:16072, used:0.619s,
actions:userspace(pid=4294938863,slow_path(action))



i looked into /var/log/messages and see following flow entry failing
to installing for Rx direction.


Nov 20 16:51:50 localhost ovs-vswitchd:
ovs|23834|dpif(handler6)|WARN|system at ovs-system: failed to put[create]
(Invalid argument)
recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(2),skb_mark(0/0),eth(src=00:27:0e:0b:cf:f8/00:00:00:00:00:00,dst=52:54:00:b1:94:22/00:00:00:00:00:00),eth_type(0x8847),mpls(label=10/0x0,tc=0/0,ttl=64/0x0,bos=0/1),
actions:pop_mpls(eth_type=0x8847),pop_mpls(eth_type=0x800),4




any pointers on where i am going wrong will help.

Thank you.



More information about the discuss mailing list