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.
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 ?