Bryant is right

topo:
vm1(1.1.1.2/24)--lswitch--(1.1.1.1)lrouter(2.2.2.1)--lswitch--vm2(2.2.2.2/24)

vm1 and vm2 is on2 different host, vm1 on host1  vm2 on host2

When ping from vm1 to vm2 , the result of ovs-dpctl dump-flows on host2:

ingress:
recirc_id(0),tunnel(tun_id=0x3,src=10.160.1.122,dst=10.160.1.80,ttl=64,geneve({class=0xffff,type=0,len=4,0x20003}),flags(-df-csum+key)),in_port(2),skb_mark(0),eth_type(0x0800),ipv4(frag=no), packets:23, bytes:2254, used:0.314s, actions:ct(zone=1,mark=0/0,label=0/0),recirc(0x6) recirc_id(0x6),tunnel(tun_id=0x3,src=10.160.1.122,dst=10.160.1.80,ttl=64,geneve({class=0xffff,type=0,len=4}),flags(-df-csum+key)),in_port(2),skb_mark(0),ct_state(-new+est-rel-inv+trk),eth(dst=fa:16:3e:a5:d0:28),eth_type(0x0800),ipv4(frag=no), packets:22, bytes:2156, used:0.314s, actions:3

egress
recirc_id(0),in_port(3),eth(src=fa:16:3e:a5:d0:28),eth_type(0x0800),ipv4(frag=no), packets:23, bytes:2254, used:0.313s, actions:ct(zone=1,mark=0/0,label=0/0),recirc(0x7) recirc_id(0x7),in_port(3),ct_state(-new+est-rel-inv+trk),eth(dst=fa:16:3e:e6:6d:03),eth_type(0x0800),ipv4(frag=no), packets:23, bytes:2254, used:0.313s, actions:ct(zone=1,mark=0/0,label=0/0),recirc(0x8) recirc_id(0x8),in_port(3),ct_state(-new+est-rel-inv+trk),eth(src=fa:16:3e:a5:d0:28,dst=fa:16:3e:e6:6d:03),eth_type(0x0800),ipv4(src=2.2.2.2/255.255.255.254,dst=1.1.1.3,ttl=64,frag=no), packets:23, bytes:2254, used:0.313s, actions:set(eth(bad key length 24, expected 12)(fa 16 3e 8f 97 13 fa 16 3e de 5f 6c 20 00 0b 00 1c 00 07 00 02 02 02 02)),set(ipv4(src=2.2.2.2/255.255.255.254,dst=1.1.1.3,ttl=63)),_ct(mark=0/0,label=0/0)_,recirc(0x9) recirc_id(0x9),in_port(3),ct_state(-new-est-rel+inv+trk),eth_type(0x0800),ipv4(frag=no), packets:23, bytes:2254, used:0.313s,actions:drop

_ct(mark=0/0,label=0/0)_ not in the ingress way

ovs-ofctl dump-flows br-int:
table=0, in_port=7 actions=load:0x3->OXM_OF_METADATA[],load:0x2->NXM_NX_REG6[],resubmit(,16) port7 is gateway port, reg5 is not set table=0, in_port=8 actions=load:0x1->NXM_NX_REG5[],load:0x3->OXM_OF_METADATA[],load:0x3->NXM_NX_REG6[],resubmit(,16)

table=17, priority=100,ip,metadata=0x3 actions=ct(table=18,zone=NXM_NX_REG5[0..15])

table 17 can not distinguish the traffic between port7 and port8, so dpflow has _ct(mark=0/0,label=0/0)_


在 2015/12/3 4:22, Russell Bryant 写道:

I /think/ I understand what you're saying ... that in the case of 2 ports on 2 logical switches connected by a logical router with 1 port on each host, the path through conntrack is not symmetric and leads to packets getting dropped when we don't want them to be.

I'm setting this up with a 2-node OpenStack environment to take a closer look.
Reply to this email directly or view it on GitHub <https://github.com/openvswitch/ovs/pull/92#issuecomment-161422337>.




_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to