Bug 1860053 - ra is not sent even send_periodic is true when add and configure lr after set up two chassis
Summary: ra is not sent even send_periodic is true when add and configure lr after set...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: ovn2.13
Version: FDP 20.E
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ---
: ---
Assignee: Numan Siddique
QA Contact: Jianlin Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-23 15:53 UTC by Jianlin Shi
Modified: 2020-08-18 11:24 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-18 11:23:51 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github ovn-org/ovn/commit/3c446f027e5b4c88ec9c477bc601573a6259bf3a None None None 2020-09-18 17:39:40 UTC
Red Hat Product Errata RHBA-2020:3488 None None None 2020-08-18 11:24:15 UTC

Description Jianlin Shi 2020-07-23 15:53:48 UTC
Description of problem:
ra is not sent even send_periodic is true when add and configure lr after set up two chassis

Version-Release number of selected component (if applicable):
ovn2.13-20.06.1-4.el7fdp.x86_64

How reproducible:
Always

Steps to Reproduce:
1. setup ovn-central and ovn-controller

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:20.0.50.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.50.25
systemctl restart ovn-controller

2. setup another ovn-controller
systemctl start openvswitch
ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:20.0.50.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.50.26
systemctl start ovn-controller

3. add and configure lr

ip netns add server0
ip link add veth0_s0 netns server0 type veth peer name veth0_s0_p
ip netns exec server0 ip link set lo up
ip netns exec server0 ip link set veth0_s0 up
ip netns exec server0 ip link set veth0_s0 address 00:00:00:01:01:02
ip netns exec server0 ip addr add 192.168.1.111/24 dev veth0_s0                                                                                                                                            
ovs-vsctl add-port br-int veth0_s0_p
ip link set veth0_s0_p up                                                                                                                                                                                  
ovs-vsctl set interface veth0_s0_p external_ids:iface-id=ls1p1                                                                                                                                             
ovn-nbctl ls-add ls1 -- add Logical_Switch ls1 other_config subnet=192.168.1.0/24
ovn-nbctl lsp-add ls1 ls1p1
ovn-nbctl lsp-add ls1 ls1-lr1
ovn-nbctl lsp-set-type ls1-lr1 router
ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1
ovn-nbctl lsp-set-addresses ls1-lr1 00:00:00:00:00:01                                                                                                                                                      
ovn-nbctl lsp-set-addresses ls1p1 00:00:00:01:01:02

ovn-nbctl lsp-add ls1 ls1p2                                                                                                                                                                                
ovn-nbctl lsp-set-addresses ls1p2 00:00:00:01:02:02
ovn-nbctl lr-add lr1
ovn-nbctl lrp-add lr1 lr1-ls1 00:00:00:00:00:01 192.168.1.1/24 aef0:0:0:0:0:0:0:1/64
ovn-nbctl lsp-add ls1 ls1p3
ovn-nbctl lsp-set-addresses ls1p3 00:00:00:01:03:02
ovn-nbctl set Logical_Router_Port lr1-ls1 ipv6_ra_configs:send_periodic=true
ovn-nbctl set Logical_Router_Port lr1-ls1 ipv6_ra_configs:address_mode=slaac
ovn-nbctl set Logical_Router_Port lr1-ls1 ipv6_ra_configs:max_interval=4
ovn-nbctl set Logical_Router_Port lr1-ls1 ipv6_ra_configs:min_interval=3
ovn-nbctl --wait=hv set Logical_Router_port lr1-ls1 ipv6_ra_configs:rdnss=aef0::11
ovn-nbctl --wait=hv set Logical_Router_port lr1-ls1 ipv6_ra_configs:router_preference=LOW
ovn-nbctl --wait=hv set Logical_Router_port lr1-ls1 ipv6_ra_configs:dnssl=aa.bb.cc
ovn-nbctl --wait=hv set Logical_Router_port lr1-ls1 ipv6_ra_configs:route_info=HIGH-aef1::11/48,LOW-aef2::11/96                                                                                            
ovn-nbctl list logical_router_port lr1-ls1

4. check addr in server0

Actual results:
no ipv6 addr generated in server0:
[root@dell-per740-42 test]# ip netns exec server0 ip a show veth0_s0
2: veth0_s0@if124: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:01:01:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.111/24 scope global veth0_s0
       valid_lft forever preferred_lft forever
    inet6 fe80::200:ff:fe01:102/64 scope link 
       valid_lft forever preferred_lft forever

and no ra received on veth0_s0 when capture packet on it

Expected results:
ra should be received, and ipv6 addr is generated

Additional info:


+ ovn-nbctl list logical_router_port lr1-ls1                                                          
_uuid               : 9dc6fd66-a363-48f9-a696-2ba3a9ff1b2b                                            
enabled             : []                                                                              
external_ids        : {}                                                                              
gateway_chassis     : []                                                                              
ha_chassis_group    : []
ipv6_prefix         : []
ipv6_ra_configs     : {address_mode=slaac, dnssl=aa.bb.cc, max_interval="4", min_interval="3", rdnss="aef0::11", route_info="HIGH-aef1::11/48,LOW-aef2::11/96", router_preference=LOW, send_periodic="true"}
mac                 : "00:00:00:00:00:01"                                                             
name                : lr1-ls1
networks            : ["192.168.1.1/24", "aef0:0:0:0:0:0:0:1/64"]                                     
options             : {}                                                                              
peer                : []

[root@dell-per740-42 test]# ip netns exec server0 ip a show veth0_s0
2: veth0_s0@if124: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:01:01:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.111/24 scope global veth0_s0
       valid_lft forever preferred_lft forever
    inet6 fe80::200:ff:fe01:102/64 scope link 
       valid_lft forever preferred_lft forever
[root@dell-per740-42 test]# rpm -qa | grep -E "openvswitch|ovn"
kernel-kernel-networking-openvswitch-ovn-nat-1.0-4.noarch
openvswitch-selinux-extra-policy-1.0-15.el7fdp.noarch
openvswitch2.13-2.13.0-39.el7fdp.x86_64
ovn2.13-central-20.06.1-4.el7fdp.x86_64
kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch
kernel-kernel-networking-openvswitch-ovn-ra-1.0-2.noarch
ovn2.13-20.06.1-4.el7fdp.x86_64
ovn2.13-host-20.06.1-4.el7fdp.x86_64

Comment 1 Jianlin Shi 2020-07-23 16:00:21 UTC
the issue doesn't exist on ovn2.13.0-39:

[root@dell-per740-42 test]# ip netns exec server0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                                             
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever                                                        
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: veth0_s0@if127: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:01:01:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.111/24 scope global veth0_s0                                                       
       valid_lft forever preferred_lft forever                                                        
    inet6 aef0::200:ff:fe01:102/64 scope global mngtmpaddr dynamic
       valid_lft forever preferred_lft forever                                                        
    inet6 fe80::200:ff:fe01:102/64 scope link                                                         
       valid_lft forever preferred_lft forever                                                        
[root@dell-per740-42 test]# rpm -qa | grep -E "openvswitch|ovn"
kernel-kernel-networking-openvswitch-ovn-nat-1.0-4.noarch
openvswitch-selinux-extra-policy-1.0-15.el7fdp.noarch
openvswitch2.13-2.13.0-39.el7fdp.x86_64                                                               
ovn2.13-central-2.13.0-39.el7fdp.x86_64                                                               
kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch
kernel-kernel-networking-openvswitch-ovn-ra-1.0-2.noarch
ovn2.13-host-2.13.0-39.el7fdp.x86_64                                                                  
ovn2.13-2.13.0-39.el7fdp.x86_64

Comment 2 Jianlin Shi 2020-07-23 16:07:41 UTC
it works when the second ovn-controller doesn't start

Comment 7 Jianlin Shi 2020-07-29 02:40:01 UTC
Verified on ovn2.13.0-20.06.1-4:

+ ovn-nbctl list logical_router_port lr1-ls1                                                          
_uuid               : 092c8acc-baeb-4be0-b24b-a82006b2dba8                                            
enabled             : []                                                                              
external_ids        : {}                                                                              
gateway_chassis     : []                                                                              
ha_chassis_group    : []
ipv6_prefix         : []
ipv6_ra_configs     : {address_mode=slaac, dnssl=aa.bb.cc, max_interval="4", min_interval="3", rdnss="aef0::11", route_info="HIGH-aef1::11/48,LOW-aef2::11/96", router_preference=LOW, send_periodic="true"}
mac                 : "00:00:00:00:00:01"                                                             
name                : lr1-ls1
networks            : ["192.168.1.1/24", "aef0:0:0:0:0:0:0:1/64"]                                     
options             : {}                                                                              
peer                : []
[root@dell-per740-42 bz1860053]# ovn-sbctl show                                                       
Chassis hv0
    hostname: hp-dl380pg8-13.rhts.eng.pek2.redhat.com                                                 
    Encap geneve
        ip: "20.0.50.26"
        options: {csum="true"}                                                                        
Chassis hv1
    hostname: dell-per740-42.rhts.eng.pek2.redhat.com                                                 
    Encap geneve
        ip: "20.0.50.25"
        options: {csum="true"}                                                                        
    Port_Binding ls1p1
[root@dell-per740-42 bz1860053]# ip netns list                                                        
server0 (id: 0)
[root@dell-per740-42 bz1860053]# ip netns exec server0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                                             
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever                                                        
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: veth0_s0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:01:01:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.111/24 scope global veth0_s0                                                       
       valid_lft forever preferred_lft forever                                                        
    inet6 aef0::200:ff:fe01:102/64 scope global dynamic mngtmpaddr
       valid_lft forever preferred_lft forever                                                        
    inet6 fe80::200:ff:fe01:102/64 scope link                                                         
       valid_lft forever preferred_lft forever          

<=== ra generated
                                              
[root@dell-per740-42 bz1860053]# rpm -qa | grep -E "openvswitch|ovn"
openvswitch-selinux-extra-policy-1.0-23.el8fdp.noarch
openvswitch2.13-2.13.0-48.el8fdp.x86_64                                                               
ovn2.13-host-20.06.1-6.el8fdp.x86_64                                                                  
ovn2.13-20.06.1-6.el8fdp.x86_64                                                                       
ovn2.13-central-20.06.1-6.el8fdp.x86_64

Comment 9 errata-xmlrpc 2020-08-18 11:23:51 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 (ovn2.13 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-2020:3488


Note You need to log in before you can comment on or make changes to this bug.