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 2170305

Summary: [ovn][bgp] VM takes several minutes to obtain its IPv6 address (slaac - provider network)
Product: Red Hat Enterprise Linux Fast Datapath Reporter: OVN Bot <ovn-bot>
Component: ovn22.03Assignee: lorenzo bianconi <lorenzo.bianconi>
Status: CLOSED ERRATA QA Contact: Jianlin Shi <jishi>
Severity: high Docs Contact:
Priority: high    
Version: RHEL 9.0CC: chrisw, ctrautma, dceara, jiji, lorenzo.bianconi, mmichels, ralongi, ralonsoh, scohen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovn22.03-22.03.0-160.el9fdp Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-04-13 09:05:15 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-16 05:07:12 UTC
This is an automatically-generated clone of issue https://bugzilla.redhat.com/show_bug.cgi?id=2154930

Comment 3 Jianlin Shi 2023-03-20 07:07:21 UTC
tested with following script:

systemctl start openvswitch
systemctl start ovn-northd 
ovn-nbctl set-connection ptcp:6641                                       
ovn-sbctl set-connection ptcp:6642
ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote=tcp:127.0.0.1:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1
systemctl restart ovn-controller
                                                                                                
ovn-nbctl ls-add ls1
ovn-nbctl lsp-add ls1 ls1p1
ovn-nbctl lsp-set-addresses ls1p1 "00:00:00:01:01:01 192.168.1.1 2001::1"
ovn-nbctl lsp-add ls1 ls1p2 
ovn-nbctl lsp-set-addresses ls1p2 "00:00:00:01:01:02 192.168.1.2 2001::2"
                                                    
ovn-nbctl lr-add lr1                                                
ovn-nbctl lrp-add lr1 lr1-ls1 00:00:00:00:00:01 192.168.1.254/24 2001::a/64
ovn-nbctl lsp-add ls1 ls1-lr1
ovn-nbctl lsp-set-addresses ls1-lr1 "00:00:00:00:00:01 192.168.1.254 2001::a"
ovn-nbctl lsp-set-type ls1-lr1 router
ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1    
                                  
ovn-nbctl lrp-add lr1 lr1-ls2 00:00:00:00:00:02 192.168.2.254/24 2002::a/64
                                               
ovn-nbctl ls-add ls2                                          
ovn-nbctl lsp-add ls2 ls2-lr1                              
ovn-nbctl lsp-set-addresses ls2-lr1 "00:00:00:00:00:02 192.168.2.254 2002::a"
ovn-nbctl lsp-set-type ls2-lr1 router
ovn-nbctl lsp-set-options ls2-lr1 router-port=lr1-ls2
                                                               
ovn-nbctl lsp-add ls2 ls2p1             
ovn-nbctl lsp-set-addresses ls2p1 "00:00:00:01:02:01 192.168.2.1 2002::1"
ovn-nbctl lsp-add ls2 ls2p2                         
ovn-nbctl lsp-set-addresses ls2p2 "00:00:00:01:02:02 192.168.2.2 2002::2"

ovs-vsctl add-br br-ext
ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext

ovn-nbctl ls-add public
ovn-nbctl lrp-add lr1 lr1-pub 00:00:ff:00:01:01 172.16.1.1/24 1000::a/64
ovn-nbctl set logical_router_port lr1-pub ipv6_ra_configs:send_periodic=true \
	-- set logical_router_port lr1-pub ipv6_ra_configs:address_mode=slaac \
	-- set logical_router_port lr1-pub ipv6_ra_configs:max_interval=4 \
	-- set logical_router_port lr1-pub ipv6_ra_configs:min_interval=3

ovn-nbctl lsp-add public pub-lr1 \
	-- lsp-set-options pub-lr1 router-port=lr1-pub \
	-- lsp-set-addresses pub-lr1 router \
	-- lsp-set-type pub-lr1 router

ovn-nbctl lsp-add public pub-ln \
	-- lsp-set-addresses pub-ln unknown \
	-- lsp-set-type pub-ln localnet \
	-- lsp-set-options pub-ln network_name=phynet

ovn-nbctl lsp-add public public1 \
	-- lsp-set-addresses public1 "00:00:ff:00:01:23 172.16.1.23/24 1000::23/64"
ovn-nbctl set logical_switch public other_config:mcast_snoop=true other_config:mcast_querier=true other_config:mcast_eth_src=00:00:00:00:00:05 other_config:mcast_ip4_src=42.42.42.5 other_config:mcast_ip6_src=1000::34

                                                                 
ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1
ovs-vsctl add-port br-int ls2p1 -- set interface ls2p1 type=internal external_ids:iface-id=ls2p1
                                                                                
ip netns add ls1p1                     
ip link set ls1p1 netns ls1p1              
ip netns exec ls1p1 ip link set ls1p1 address 00:00:00:01:01:01
ip netns exec ls1p1 ip link set ls1p1 up
ip netns exec ls1p1 ip addr add 192.168.1.1/24 dev ls1p1
ip netns exec ls1p1 ip addr add 2001::1/64 dev ls1p1
ip netns exec ls1p1 ip route add default via 192.168.1.254 dev ls1p1
ip netns exec ls1p1 ip -6 route add default via 2001::a dev ls1p1

ip netns add ls2p1
ip link set ls2p1 netns ls2p1
ip netns exec ls2p1 ip link set ls2p1 address 00:00:00:01:02:01
ip netns exec ls2p1 ip link set ls2p1 up
ip netns exec ls2p1 ip addr add 192.168.2.1/24 dev ls2p1
ip netns exec ls2p1 ip addr add 2002::1/64 dev ls2p1
ip netns exec ls2p1 ip route add default via 192.168.2.254 dev ls2p1
ip netns exec ls2p1 ip -6 route add default via 2002::a dev ls2p1

ovs-vsctl add-port br-ext ext1 -- set interface ext1 type=internal
ip netns add ext1
ip link set ext1 netns ext1
ip netns exec ext1 ip addr add 172.16.1.20/24 dev ext1
ip netns exec ext1 ip addr add 1000::20/64 dev ext1

ovs-vsctl add-port br-int public1 -- set interface public1 type=internal external_ids:iface-id=public1
ip netns add public1
ip link set public1 netns public1
ip netns exec public1 ip link set public1 address 00:00:ff:00:01:23
ip netns exec public1 ip link set public1 up
ip netns exec public1 ip addr add 172.16.1.23/24 dev public1
ip netns exec public1 ip addr add 1000::23/64 dev public1

ovn-nbctl --wait=hv sync

ip netns exec public1 join_group -f 6 -g ff05::2 -i public1 &
sleep 2
ovn-sbctl list igmp_group
ovn-sbctl lflow-list | grep ff05

reproduced on ovn22.03-22.03.0-118.el9:

+ ip netns exec public1 join_group -f 6 -g ff05::2 -i public1                                         
+ ovn-sbctl list igmp_group
_uuid               : 8da3a644-6fb7-4ff6-b946-90d7115639ee                                            
address             : "ff05::2"
chassis             : c9d86355-ee2e-483a-a524-4343da017ad6                                            
datapath            : a7c62f9c-d38d-4700-ab05-1fd237095809
ports               : [34ccf62f-e761-414e-aa05-5c564f4c9eb4]                                          

_uuid               : d84a5dcd-a78b-4cb0-8070-3356af9bb1ff                                            
address             : "ff02::1:ff00:23"
chassis             : c9d86355-ee2e-483a-a524-4343da017ad6                                            
datapath            : a7c62f9c-d38d-4700-ab05-1fd237095809
ports               : [34ccf62f-e761-414e-aa05-5c564f4c9eb4]                                          

_uuid               : 13d3b20e-3994-4d4a-92e0-5220d157ce2b                                            
address             : "ff02::1:ff00:123"
chassis             : c9d86355-ee2e-483a-a524-4343da017ad6                                            
datapath            : a7c62f9c-d38d-4700-ab05-1fd237095809
ports               : [34ccf62f-e761-414e-aa05-5c564f4c9eb4]                                          
+ ovn-sbctl lflow-list                                                                                
+ grep ff05
  table=24(ls_in_l2_lkup      ), priority=90   , match=(eth.mcast && ip6 && ip6.dst == ff05::2 ), action=(outport = "ff05::2"; output; )

<=== flow for ff05::2

Verified on ovn22.03-22.03.0-168.el9:

[root@opicee-6 bz2170305]# rpm -qa | grep -E "openvswitch2.17|ovn22.03"
openvswitch2.17-2.17.0-72.el9fdp.x86_64
ovn22.03-22.03.0-168.el9fdp.x86_64
ovn22.03-central-22.03.0-168.el9fdp.x86_64
ovn22.03-host-22.03.0-168.el9fdp.x86_64

+ ip netns exec public1 ip addr add 1000::23/64 dev public1
+ ovn-nbctl --wait=hv sync
+ sleep 2
+ ip netns exec public1 join_group -f 6 -g ff05::2 -i public1
+ ovn-sbctl list igmp_group
_uuid               : 5c61580a-8368-452b-b347-328eaf892a91
address             : "ff02::1:ff00:123"
chassis             : 2199629f-72f5-4a16-aa2c-9627bb97f9ff
datapath            : c2fdde8f-41a9-4fea-b077-7bb1d434f37d
ports               : [680d65f3-88de-4828-9c9d-c4344364e752]

_uuid               : 6584db2f-9cf6-49dd-8b0c-9d001eebe845
address             : "ff05::2"
chassis             : 2199629f-72f5-4a16-aa2c-9627bb97f9ff
datapath            : c2fdde8f-41a9-4fea-b077-7bb1d434f37d
ports               : [680d65f3-88de-4828-9c9d-c4344364e752]

_uuid               : 6637ff5f-7f48-4bbd-b8c9-cf1cb1433c4f
address             : "ff02::1:ff00:23"
chassis             : 2199629f-72f5-4a16-aa2c-9627bb97f9ff
datapath            : c2fdde8f-41a9-4fea-b077-7bb1d434f37d
ports               : [680d65f3-88de-4828-9c9d-c4344364e752]
+ ovn-sbctl lflow-list
+ grep ff05

<=== no flow related to ff05::2

Comment 5 errata-xmlrpc 2023-04-13 09:05:15 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 (ovn22.03 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:1771