not support tap in port chain with nsh corr

Bug #1753349 reported by 525215713@qq.com
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
networking-sfc
New
Undecided
Unassigned

Bug Description

i create seven neutron port: p0, p1, p2, p3,p4,p5,p6
i create sfc in follow steps:
openstack sfc flow classifier create --protocol icmp --logical-source-port p0 FC1

openstack sfc port pair create --ingress p2 --egress p3 PP1
openstack sfc port pair create --ingress p4 --egress p4 PP2
openstack sfc port pair create --ingress p5 --egress p6 PP3

openstack sfc port pair group create --port-pair PP1 PPG1
openstack sfc port pair group create --port-pair PP2 --enable-tap PPG2
openstack sfc port pair group create --port-pair PP3 PPG3

openstack sfc port chain create --port-pair-group PPG1 --port-pair-group PPG2 --port-pair-group PPG3 --flow-classifier FC1 --chain-parameters correlation=nsh PC1

now i execute ovs-vsctl command to show the sfc flows as bellow:
The corresponding relationship between port and ofport is as follows:
   p0 => 15
   p1 => 16
   p2 => 17
   p3 => 18
   p4 => 19
   p5 => 20
   p6 => 21

PPG1->PPG2(TAP)->PPG3
root@controller:/opt/stack# ovs-ofctl dump-groups br-int -O Openflow13
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
 group_id=1,type=select,bucket=actions=set_field:fa:16:3e:52:c5:75->eth_dst,resubmit(,5)
 group_id=3,type=select,bucket=actions=set_field:fa:16:3e:a9:17:99->eth_dst,resubmit(,5)
root@controller:/opt/stack#
root@controller:/opt/stack#
root@controller:/opt/stack# ovs-ofctl dump-flows br-int -O Openflow13 | grep "table=0"
 cookie=0x708e10f475659771, duration=9.446s, table=0, n_packets=0, n_bytes=0, reset_counts priority=30,icmp,in_port=15,nw_src=192.168.1.4 actions=group:1
 cookie=0x708e10f475659771, duration=9.182s, table=0, n_packets=0, n_bytes=0, reset_counts priority=30,icmp,in_port=21,nw_src=192.168.1.4 actions=NORMAL
 cookie=0x708e10f475659771, duration=9.054s, table=0, n_packets=0, n_bytes=0, reset_counts priority=30,icmp,in_port=18,nw_src=192.168.1.4 actions=group:3,resubmit(,7)
 cookie=0x708e10f475659771, duration=3039.074s, table=0, n_packets=0, n_bytes=0, priority=20,mpls actions=goto_table:10
 cookie=0x708e10f475659771, duration=3039.072s, table=0, n_packets=0, n_bytes=0, priority=20,dl_type=0x894f actions=goto_table:10
 cookie=0x92354256898e7a98, duration=3004.664s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=15,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2956.783s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=16,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2924.077s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=17,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2924.063s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=18,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2902.695s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=19,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2884.598s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=21,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2884.583s, table=0, n_packets=0, n_bytes=0, priority=10,icmp6,in_port=20,icmp_type=136 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=3004.661s, table=0, n_packets=70, n_bytes=2940, priority=10,arp,in_port=15 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2956.779s, table=0, n_packets=71, n_bytes=2982, priority=10,arp,in_port=16 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2924.074s, table=0, n_packets=71, n_bytes=2982, priority=10,arp,in_port=17 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2924.060s, table=0, n_packets=0, n_bytes=0, priority=10,arp,in_port=18 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2902.692s, table=0, n_packets=71, n_bytes=2982, priority=10,arp,in_port=19 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2884.595s, table=0, n_packets=0, n_bytes=0, priority=10,arp,in_port=21 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=2884.580s, table=0, n_packets=71, n_bytes=2982, priority=10,arp,in_port=20 actions=goto_table:24
 cookie=0x92354256898e7a98, duration=3039.307s, table=0, n_packets=10, n_bytes=1116, priority=2,in_port=1 actions=drop
 cookie=0x92354256898e7a98, duration=3004.668s, table=0, n_packets=12, n_bytes=1484, priority=9,in_port=15 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2956.786s, table=0, n_packets=17, n_bytes=1974, priority=9,in_port=16 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2924.081s, table=0, n_packets=17, n_bytes=1974, priority=9,in_port=17 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2924.066s, table=0, n_packets=0, n_bytes=0, priority=9,in_port=18 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2902.699s, table=0, n_packets=17, n_bytes=1974, priority=9,in_port=19 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2884.602s, table=0, n_packets=0, n_bytes=0, priority=9,in_port=21 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=2884.587s, table=0, n_packets=17, n_bytes=1974, priority=9,in_port=20 actions=goto_table:25
 cookie=0x92354256898e7a98, duration=3039.418s, table=0, n_packets=388, n_bytes=38887, priority=0 actions=goto_table:60
root@controller:/opt/stack#
root@controller:/opt/stack# ovs-ofctl dump-flows br-int -O Openflow13 | grep "table=5"
hard_timeout=0,idle_timeout=0,priority=0,cookie=8110438621068498801,table=5,dl_dst=fa:16:3e:52:c5:75,eth_type=2048,actions=encap(hdr=nsh,prop(class=nsh,type=md_type,val=1)),set_field:0x1->nsh_spi,set_field:0xff->nsh_si,encap(hdr=ethernet),mod_vlan_vid:1,,resubmit(,10)
hard_timeout=0,idle_timeout=0,priority=0,cookie=8110438621068498801,table=5,dl_dst=fa:16:3e:a9:17:99,eth_type=2048,actions=encap(hdr=nsh,prop(class=nsh,type=md_type,val=1)),set_field:0x1->nsh_spi,set_field:0xfe->nsh_si,encap(hdr=ethernet),mod_vlan_vid:1,,resubmit(,10)

root@controller:/opt/stack# ovs-ofctl dump-flows br-int -O Openflow13 | grep "table=7"
 cookie=0x708e10f475659771, duration=13.647s, table=7, n_packets=0, n_bytes=0, reset_counts priority=0,ip,in_port=18,dl_src=fa:16:3e:55:0e:5a actions=push_vlan:0x8100,set_field:4097->vlan_vid,resubmit(,10)
root@controller:/opt/stack# ovs-ofctl dump-flows br-int -O Openflow13 | grep "table=10"
hard_timeout=0,idle_timeout=0,priority=1,cookie=8110438621068498801,nsh_spi=1,nsh_mdtype=1,eth_type=35151,table=10,dl_dst=fa:16:3e:52:c5:75,dl_vlan=1,nsh_si=255,actions=strip_vlan,move:NXM_OF_ETH_DST->OXM_OF_PKT_REG[0..47],decap(),decap(),move:OXM_OF_PKT_REG[0..47]->NXM_OF_ETH_DST,output:17
hard_timeout=0,idle_timeout=0,priority=1,cookie=8110438621068498801,nsh_spi=1,nsh_mdtype=1,eth_type=35151,table=10,dl_dst=fa:16:3e:a9:17:99,dl_vlan=1,nsh_si=254,actions=strip_vlan,move:NXM_OF_ETH_DST->OXM_OF_PKT_REG[0..47],decap(),decap(),move:OXM_OF_PKT_REG[0..47]->NXM_OF_ETH_DST,output:20
hard_timeout=0,idle_timeout=0,priority=1,cookie=8110438621068498801,nsh_spi=1,nsh_mdtype=1,eth_type=35151,table=10,dl_dst=fa:16:3e:dc:1d:e0,dl_vlan=1,nsh_si=252,actions=strip_vlan,move:NXM_OF_ETH_DST->OXM_OF_PKT_REG[0..47],decap(),decap(),move:OXM_OF_PKT_REG[0..47]->NXM_OF_ETH_DST,output:19
 cookie=0x708e10f475659771, duration=3047.090s, table=10, n_packets=0, n_bytes=0, priority=0 actions=drop
root@controller:/opt/stack#
root@controller:/opt/stack#

from the above flows, when the flow come from p3(ofport=18), it jumps to table=7. In table=7, it just match dl_src and push vlan actions, jump to table=10. Now the question is that in table=10,it cannot match any flow but the drop flow.

Revision history for this message
Hamza Noweder (noweder) wrote :

any comments on this issue as am facing same issue using NSH as correlation when creating port chain, it will fail to steer the traffic towards the SFs

does openstack queens release with OVS and networking-sfc version 6.0.0 support NSH ?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.