[ovs-dev] possible issue with connection tracing with action Normal

Moshe Levi moshele at mellanox.com
Sun Feb 17 18:39:19 UTC 2019


Hi ,

I have openstack setup with ovs mechanism driver and ovs firewall driver (using connection tracing for security groups).
The ovs firewall driver is implement as describe [1].

I have 2 compute (hypervisors)  nodes and I am running ICMP from VM1 with mac fa:16:3e:b9:f4:4c which locate on compute 1 to VM2 with  mac fa:16:3e:d4:3d:ae which locate on compute 2.
The setup is with is using vlan networks (but I seem same behavior on vxlan and flat networks) and the setup is configured to allow ICMP traffic between the 2 VMs.
The openstack pipeline with ovs mechanism driver is using the action=Normal for a mac learning.

I run ping from VM1 to VM2 and I see the following behavior.

If VM2 don't have arp entry of fa:16:3e:b9:f4:4c (VM1 mac) the mac learning is working (using ovs-appctl fdb/show br-int command on compute 1)
ufid:3137ffe5-a609-4b7b-bded-d7726ea67e6d, recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(tape7f147e2-ca),skb_mark(0/0),ct_state(0/0x20),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:b9:f4:4c,dst=00:00:00:00:00:00/00:00:00:00:00:00),eth_type(0x0800),ipv4(src=10.10.10.12,dst=0.0.0.0/0.0.0.0,proto=1,tos=0/0,ttl=0/0,frag=no),icmp(type=0/0,code=0/0), packets:128, bytes:12544, used:0.392s, dp:ovs, actions:ct(zone=1),recirc(0x20)
ufid:941598b7-7d1b-46bd-804d-03dc14e0a7d8, skb_priority(0/0),skb_mark(0/0),recirc_id(0x20),dp_hash(0/0),in_port(tape7f147e2-ca),ct_state(0x2/0xf),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),packet_type(ns=0/0,id=0/0),eth(src=fa:16:3e:b9:f4:4c,dst=fa:16:3e:d4:3d:ae),eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no), packets:0, bytes:0, used:5.250s, dp:ovs, actions:push_vlan(vid=70,pcp=0),enp2s0f0


If VM2 does have arp  entry of fa:16:3e:b9:f4:4c (VM1 mac) and the fdb don't have fa:16:3e:b9:f4:4c the mac learning is not happening and the datapath rule will look like

ufid:3137ffe5-a609-4b7b-bded-d7726ea67e6d, recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(tape7f147e2-ca),skb_mark(0/0),ct_state(0/0x20),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:b9:f4:4c,dst=00:00:00:00:00:00/00:00:00:00:00:00),eth_type(0x0800),ipv4(src=10.10.10.12,dst=0.0.0.0/0.0.0.0,proto=1,tos=0/0,ttl=0/0,frag=no),icmp(type=0/0,code=0/0), packets:47, bytes:4606, used:0.920s, dp:ovs, actions:ct(zone=1),recirc(0x20)
ufid:9b8061d7-0606-476a-8cf5-f77997185138, recirc_id(0x20),dp_hash(0/0),skb_priority(0/0),in_port(tape7f147e2-ca),skb_mark(0/0),ct_state(0x1/0xf),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:b9:f4:4c,dst=fa:16:3e:d4:3d:ae),eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no), packets:0, bytes:0, used:never, dp:ovs, actions:ct(commit,zone=1),push_vlan(vid=1,pcp=0),br-int,pop_vlan,push_vlan(vid=70,pcp=0),enp2s0f0,pop_vlan

as you can see the ICMP packet send to also to br-int.

Please note that I see the behavior only when using (using connection tracing for security groups) without it, it is working fine.

Did someone encounter this issue?

[1] -  https://github.com/openstack/neutron/blob/master/doc/source/contributor/internals/openvswitch_firewall.rst


More information about the dev mailing list