Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 2166832

Summary: Missing Neighbor Advertisements on router failover
Product: Red Hat Enterprise Linux Fast Datapath Reporter: OVN Bot <ovn-bot>
Component: ovn-2021Assignee: Ales Musil <amusil>
Status: CLOSED ERRATA QA Contact: Jianlin Shi <jishi>
Severity: high Docs Contact:
Priority: high    
Version: FDP 22.GCC: amusil, ctrautma, jiji, jishi, mmichels
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovn-2021-21.12.0-116.el8fdp Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-16 10:05:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OVN Bot 2023-02-03 05:08:13 UTC
This is an automatically-generated clone of issue https://bugzilla.redhat.com/show_bug.cgi?id=2131676

Comment 4 Jianlin Shi 2023-02-16 07:45:03 UTC
reproduced on ovn-2021-21.12.0-103.el8:

+ tcpdump -r ext1.pcap -nnle -v
reading from file ext1.pcap, link-type EN10MB (Ethernet)
dropped privs to tcpdump
02:40:03.430060 d6:1b:a8:9a:be:4d > 33:33:ff:9a:be:4d, ethertype IPv6 (0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ff9a:be4d: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::d41b:a8ff:fe9a:be4d
          unknown option (14), length 8 (1): 
          0x0000:  c1cc 6746 4427
02:40:03.478041 d6:1b:a8:9a:be:4d > 33:33:ff:00:00:02, ethertype IPv6 (0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ff00:2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fd12:3456:789a:1::2
          unknown option (14), length 8 (1): 
          0x0000:  b587 e14c 5f82
02:40:03.494030 d6:1b:a8:9a:be:4d > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) :: > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff9a:be4d to_ex, 0 source(s)]
02:40:04.470096 d6:1b:a8:9a:be:4d > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) fe80::d41b:a8ff:fe9a:be4d > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff9a:be4d to_ex, 0 source(s)]
02:40:04.470121 d6:1b:a8:9a:be:4d > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::d41b:a8ff:fe9a:be4d > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
          source link-address option (1), length 8 (1): d6:1b:a8:9a:be:4d
02:40:05.430037 d6:1b:a8:9a:be:4d > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) fe80::d41b:a8ff:fe9a:be4d > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff9a:be4d to_ex, 0 source(s)]
02:40:08.310077 d6:1b:a8:9a:be:4d > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::d41b:a8ff:fe9a:be4d > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
          source link-address option (1), length 8 (1): d6:1b:a8:9a:be:4d
02:40:16.246078 d6:1b:a8:9a:be:4d > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::d41b:a8ff:fe9a:be4d > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
          source link-address option (1), length 8 (1): d6:1b:a8:9a:be:4d
+ sleep 2
+ ip netns exec ext1 tcpdump -i ext1 -w ext1_2.pcap -nnle
dropped privs to tcpdump
tcpdump: listening on ext1, link-type EN10MB (Ethernet), capture size 262144 bytes
+ ovn-nbctl --wait=hv set logical_router lr0 options:chassis=hv0
+ sleep 2
+ ovn-nbctl set logical_router lr0 options:chassis=hv1
+ sleep 5
+ pkill tcpdump
+ sleep 2
0 packets captured
1 packet received by filter
0 packets dropped by kernel
+ tcpdump -r ext1_2.pcap -nnle -v
reading from file ext1_2.pcap, link-type EN10MB (Ethernet)
dropped privs to tcpdump
[root@wsfd-advnetlab16 bz2131676]# rpm -qa | grep -E "openvswitch2.17|ovn-2021"
python3-openvswitch2.17-2.17.0-60.el8fdp.x86_64
ovn-2021-central-21.12.0-103.el8fdp.x86_64
openvswitch2.17-2.17.0-60.el8fdp.x86_64
ovn-2021-host-21.12.0-103.el8fdp.x86_64
ovn-2021-21.12.0-103.el8fdp.x86_64

result on ovn-2021-21.12.0-116.el8:

[root@wsfd-advnetlab16 bz2131676]# rpm -qa | grep -E "openvswitch2.17|ovn-2021"
python3-openvswitch2.17-2.17.0-60.el8fdp.x86_64
ovn-2021-central-21.12.0-116.el8fdp.x86_64
ovn-2021-host-21.12.0-116.el8fdp.x86_64
openvswitch2.17-2.17.0-60.el8fdp.x86_64
ovn-2021-21.12.0-116.el8fdp.x86_64

+ tcpdump -r ext1.pcap -nnle -v                                                                       
reading from file ext1.pcap, link-type EN10MB (Ethernet)
dropped privs to tcpdump
02:42:15.702033 a2:4b:11:4d:06:d7 > 33:33:ff:4d:06:d7, ethertype IPv6 (0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ff4d:6d7: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::a04b:11ff:fe4d:6d7
          unknown option (14), length 8 (1):                                                          
          0x0000:  c48a 59ef 38fb                                                                     
02:42:16.006043 a2:4b:11:4d:06:d7 > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) :: > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff4d:6d7 to_ex, 0 source(s)]
02:42:16.566059 a2:4b:11:4d:06:d7 > 33:33:ff:00:00:02, ethertype IPv6 (0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ff00:2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fd12:3456:789a:1::2                                                        
          unknown option (14), length 8 (1): 
          0x0000:  537a a4f5 9839                                                                     
02:42:16.758100 a2:4b:11:4d:06:d7 > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) fe80::a04b:11ff:fe4d:6d7 > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff4d:6d7 to_ex, 0 source(s)]
02:42:16.758136 a2:4b:11:4d:06:d7 > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::a04b:11ff:fe4d:6d7 > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16                                                                        
          source link-address option (1), length 8 (1): a2:4b:11:4d:06:d7
02:42:17.526015 a2:4b:11:4d:06:d7 > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 110: (hlim 1, next-header Options (0) payload length: 56) fe80::a04b:11ff:fe4d:6d7 > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 2 group record(s) [gaddr ff02::1:ff00:2 to_ex, 0 source(s)] [gaddr ff02::1:ff4d:6d7 to_ex, 0 source(s)]
02:42:18.706126 f0:00:00:00:00:01 > ff:ff:ff:ff:ff:ff, ethertype Reverse ARP (0x8035), length 42: Ethernet (len 6), IPv4 (len 4), Reverse Request who-is f0:00:00:00:00:01 tell f0:00:00:00:00:01, length 28
02:42:20.708302 f0:00:00:00:00:01 > ff:ff:ff:ff:ff:ff, ethertype Reverse ARP (0x8035), length 42: Ethernet (len 6), IPv4 (len 4), Reverse Request who-is f0:00:00:00:00:01 tell f0:00:00:00:00:01, length 28
02:42:20.790061 a2:4b:11:4d:06:d7 > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::a04b:11ff:fe4d:6d7 > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16                                                                        
          source link-address option (1), length 8 (1): a2:4b:11:4d:06:d7
02:42:24.712480 f0:00:00:00:00:01 > ff:ff:ff:ff:ff:ff, ethertype Reverse ARP (0x8035), length 42: Ethernet (len 6), IPv4 (len 4), Reverse Request who-is f0:00:00:00:00:01 tell f0:00:00:00:00:01, length 28
02:42:28.854102 a2:4b:11:4d:06:d7 > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::a04b:11ff:fe4d:6d7 > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16                                                                        
          source link-address option (1), length 8 (1): a2:4b:11:4d:06:d7                             
+ sleep 2                                                                                             
+ ip netns exec ext1 tcpdump -i ext1 -w ext1_2.pcap -nnle                                             
dropped privs to tcpdump                                                                              
tcpdump: listening on ext1, link-type EN10MB (Ethernet), capture size 262144 bytes                    
+ ovn-nbctl --wait=hv set logical_router lr0 options:chassis=hv0                                      
+ sleep 2                                                                                             
+ ovn-nbctl set logical_router lr0 options:chassis=hv1                                                
+ sleep 5                                                                                             
+ pkill tcpdump                                                                                       
0 packets captured                                                                                    
0 packets received by filter                                                                          
0 packets dropped by kernel                                                                           
+ sleep 2                                                                                             
+ tcpdump -r ext1_2.pcap -nnle -v                                                                     
reading from file ext1_2.pcap, link-type EN10MB (Ethernet)                                            
dropped privs to tcpdump

<=== there is no rarp received when change the chassis setting, Ales, could you help to check?

Comment 5 Ales Musil 2023-02-21 07:53:46 UTC
Hi, 

does it work if you insert: "ovn-appctl inc-engine/recompute" after "ovn-nbctl --wait=hv set logical_router lr0 options:chassis=hv0"?

Unfortunately the datapath is not removed until recompute happens, so the patch port lingers there
and controller does not send new updates because of that.

Comment 6 Jianlin Shi 2023-02-21 10:08:35 UTC
(In reply to Ales Musil from comment #5)
> Hi, 
> 
> does it work if you insert: "ovn-appctl inc-engine/recompute" after
> "ovn-nbctl --wait=hv set logical_router lr0 options:chassis=hv0"?
> 
> Unfortunately the datapath is not removed until recompute happens, so the
> patch port lingers there
> and controller does not send new updates because of that.

yes, after add "ovn-appctl inc-engine/recompute", rarp is received.

Comment 8 errata-xmlrpc 2023-03-16 10:05:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (ovn-2021 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:1289