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@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@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@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. _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
