[OVSDB-347] GBP + SFC integration is broken Created: 02/Jun/16  Updated: 14/Jun/16  Resolved: 14/Jun/16

Status: Resolved
Project: ovsdb
Component/s: Southbound.Open_vSwitch
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Martin Sunal Assignee: Anil Vishnoi
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File SFF.txt     Text File topology_config.txt     Text File topology_operational.txt    
External issue ID: 5992

 Description   

we have noticed problems when running Group Based Policy demos and CSIT jobs after https://git.opendaylight.org/gerrit/#/c/37730 and it’s cherry-pick were merged.

Affected Jenkins jobs which started failing since the patch was merged
https://jenkins.opendaylight.org/groupbasedpolicy/job/groupbasedpolicy-csit-1node-6node-only-beryllium/
https://jenkins.opendaylight.org/groupbasedpolicy/job/groupbasedpolicy-csit-1node-6node-only-boron/

I tried to replicated the problem with our asymmetric demo
https://github.com/opendaylight/groupbasedpolicy/tree/master/demos/gbpsfc-env

Here we try to send a HTTP request through a service function chain as following:

Host on VM1 sends HTTP request – sw1 bridge on VM1 encapsulates and forwards the traffic to the service function chain via vxlan-gpe-0 interface. The first SFF node in the chain is VM2.

Since I could not see any ovs-dpctl dump-flows output on VM2(first SFF) and all the counters on flows were equal to zero, I became convinced that the Service Function Forwarder cannot parse traffic passed from the VM1 classifier.

This is how ovs-dpctl dump-flows output looks like on the classifier

vagrant@gbpsfc1:~$ sudo ovs-dpctl dump-flows
recirc_id(0),skb_priority(0),in_port(4),eth(src=00:00:00:00:35:02,dst=88:f0:31:b5:12:b5),eth_type(0x0800),ipv4(src=10.0.35.2,dst=10.0.36.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=44239/0,dst=80/0xffff), packets:46, bytes:3404, used:0.016s, flags:S, actions:set(tunnel(tun_id=0x3,nsp=0x16,nsi=255,nshc1=0xc0a83246,nshc2=0x3,nshc3=0x0,nshc4=0x0,src=0.0.0.0,dst=192.168.50.71,tos=0x0,ttl=64,flags(df,key,nsp,nsi,nshc1,nshc2,nshc3,nshc4))),set(eth(src=88:f0:31:b5:12:b5,dst=00:00:00:00:36:02)),set(ipv4(src=10.0.35.2,dst=10.0.36.2,proto=6,tos=0,ttl=63,frag=no)),2

vagrant@gbpsfc1:~$ sudo ovs-dpctl show
system@ovs-system:
lookups: hit:2702 missed:415 lost:0
flows: 3
masks: hit:3634 total:3 hit/pkt:1.17
port 0: ovs-system (internal)
port 1: sw1 (internal)
port 2: vxlan_sys_6633 (vxlan: df_default=false, ttl=0)
port 3: vxlan_sys_4789 (vxlan: df_default=false, ttl=0)
port 4: vethl-h35_2
port 5: vethl-h35_3
port 6: vethl-h36_2
port 7: vethl-h36_3

Other traffic that does not go through service function chains passes successfully.

I checked out to version before https://git.opendaylight.org/gerrit/#/c/37730 and tried again, all worked nicely.

Output of megaflow on the same classifier:

vagrant@gbpsfc1:~$ sudo ovs-dpctl dump-flows
recirc_id(0),skb_priority(0),in_port(4),eth(src=00:00:00:00:35:02,dst=88:f0:31:b5:12:b5),eth_type(0x0800),ipv4(src=10.0.35.2,dst=10.0.36.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=45735/0,dst=80/0xffff), packets:65, bytes:5173, used:0.128s, flags:SFP., actions:set(tunnel(tun_id=0xa,nsp=0xf,nsi=255,nshc1=0xc0a83246,nshc2=0xa,nshc3=0x0,nshc4=0x0,src=0.0.0.0,dst=192.168.50.71,tos=0x0,ttl=64,flags(df,key,nsp,nsi,nshc1,nshc2,nshc3,nshc4))),set(eth(src=88:f0:31:b5:12:b5,dst=00:00:00:00:36:02)),set(ipv4(src=10.0.35.2,dst=10.0.36.2,proto=6,tos=0,ttl=63,frag=no)),2

ovs-dpctl show did not change.
The only difference I noticed in the output is flags field: SFP vs S



 Comments   
Comment by Tomas Cechvala [ 02/Jun/16 ]

UPDATE

please see

https://lists.opendaylight.org/pipermail/groupbasedpolicy-dev/2016-June/003429.html

Please see the attachment identical to that mentioned in the email.

Comment by Tomas Cechvala [ 02/Jun/16 ]

Attachment SFF.txt has been added with description: SFF

Comment by Tomas Cechvala [ 02/Jun/16 ]

Attachment topology_config.txt has been added with description: config topology

Comment by Tomas Cechvala [ 02/Jun/16 ]

Attachment topology_operational.txt has been added with description: operational topology

Comment by Anil Vishnoi [ 02/Jun/16 ]

I will look at it sometime tonight on priority.

Comment by Anil Vishnoi [ 08/Jun/16 ]

master : https://git.opendaylight.org/gerrit/39988

Comment by Sam Hague [ 14/Jun/16 ]

be: https://git.opendaylight.org/gerrit/40264

Generated at Wed Feb 07 20:36:09 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.