Due to suspected commit: https://github.com/ovn-org/ovn/commit/41eefcb2807de2584a6a8cd92a9ad3172e3aa498
When configuring an extra IP on a node, packets are sent with the wrong tunnel IP as the source. For example, on my setup I have:
external_ids : {hostname=ovn-worker, ovn-bridge-mappings="physnet:breth0", ovn-enable-lflow-cache="true", ovn-encap-ip="fc00:f853:ccd:e793::4"
Traffic works fine, until an extra IP address (fc00:f853:ccd:e793:ffff::1) is added to my node's interface:
[root@ovn-worker ~]# ip -6 addr show breth0
5: breth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
inet6 fc00:f853:ccd:e793:ffff::1/128 scope global
valid_lft forever preferred_lft forever
inet6 fd69::2/125 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fc00:f853:ccd:e793::4/64 scope global nodad
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe12:4/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
At this point geneve traffic sent by this node is dropped on the other side:
[root@ovn-control-plane openvswitch]# cat ovs-vswitchd.log | grep fc00:f853:ccd:e793::4 2024-04-17T16:47:02.146Z|00012|tunnel(revalidator10)|WARN|receive tunnel port not found (tcp6,tun_id=0xff0003,tun_src=0.0.0.0,tun_dst=0.0.0.0,tun_ipv6_src=fc00:f853:ccd:e793:ffff::1,tun_ipv6_dst=fc00:f853:ccd:e793::3,tun_gbp_id=0,tun_gbp_flags=0,tun_tos=0,tun_ttl=64,tun_erspan_ver=0,gtpu_flags=0,gtpu_msgtype=0,tun_flags=csum|key,in_port=5,vlan_tci=0x0000,dl_src=0a:58:2b:22:eb:86,dl_dst=0a:58:92:3f:71:e5,ipv6_src=fc00:f853:ccd:e793::4,ipv6_dst=fd00:10:244:1::7,ipv6_label=0x630b1,nw_tos=0,nw_ecn=0,nw_ttl=63,nw_frag=no,tp_src=8080,tp_dst=59130,tcp_flags=syn|ack)
recirc_id(0),dp_hash(0),skb_priority(0),tunnel(tun_id=0xff0003,ipv6_src=fc00:f853:ccd:e793:ffff::1,ipv6_dst=fc00:f853:ccd:e793::3,ttl=64,tp_src=29352,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x40003}),flags(+csum+key)),in_port(5),skb_mark(0),ct_state(-new-est-rel-rpl-inv-trk-snat-dnat),ct_zone(0),ct_mark(0),ct_label(0),eth(src=0a:58:2b:22:eb:86,dst=0a:58:92:3f:71:e5),eth_type(0x86dd),ipv6(src=fc00:f853:ccd:e793::4,dst=fd00:10:244:1::7,label=0x671e4,proto=6,tclass=0,hlimit=63,frag=no),key32(00 00/ff ff),tcp(src=8080,dst=37508),tcp_flags(syn|ack), packets:0, bytes:0, used:never, actions:drop
Removing fc00:f853:ccd:e793:ffff::1 from the interface or setting
ovs-vsctl set open . external_ids:ovn-set-local-ip="true"
fixes the problem and traffic starts working again.
- causes
-
OCPBUGS-32461 geneve traffic may stop working when additional IP addresses are added to primary NIC
- Closed
- links to
-
RHBA-2024:138790 ovn24.09 bug fix and enhancement update