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 1804590

Summary: [ovn2.12-rhel8]router_preference doesn't take effect if send_periodic is false
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Jianlin Shi <jishi>
Component: ovn2.12Assignee: lorenzo bianconi <lorenzo.bianconi>
Status: CLOSED WONTFIX QA Contact: Jianlin Shi <jishi>
Severity: medium Docs Contact:
Priority: medium    
Version: FDP 20.ACC: ctrautma, fhallal, jishi, mmichels, ovs-team, ralongi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1804576 Environment:
Last Closed: 2020-06-25 12:57:10 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:
Bug Depends On: 1804576, 1804595, 1851788    
Bug Blocks:    

Description Jianlin Shi 2020-02-19 08:26:46 UTC
following issue also exists on ovn2.12.0-21:

[root@dell-per740-12 ra]# rpm -qa | grep -E "openvswitch|ovn"
openvswitch2.12-2.12.0-21.el8fdp.x86_64                                                               
kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch
ovn2.12-2.12.0-27.el8fdp.x86_64                                                                       
ovn2.12-central-2.12.0-27.el8fdp.x86_64                                                               
ovn2.12-host-2.12.0-27.el8fdp.x86_64                                                                  
kernel-kernel-networking-openvswitch-ovn-basic-1.0-19.noarch
python3-openvswitch2.12-2.12.0-21.el8fdp.x86_64                                                       
openvswitch-selinux-extra-policy-1.0-19.el8fdp.noarch

+++ This bug was initially created as a clone of Bug #1804576 +++

Description of problem:
router_preference doesn't take effect if send_periodic is false

Version-Release number of selected component (if applicable):
ovn2.13-2.13.0-0.20200217git7886ac9.el8fdp.x86_64

How reproducible:
always

Steps to Reproduce:
1. set router_preference as low
2. set send_periodic as false
3. send router solicitation to ovn, and ovn would reply router advertisement

Actual results:
pref is medium in the router advertisement

Expected results:
perf should be low

Additional info:

[root@dell-per740-12 test]# cat setup.sh
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.30.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.30.25
systemctl restart ovn-controller
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.1/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
ovn-nbctl lsp-add ls1 ls1p1
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 aef0:0:0:0:0:0:0:1/64                                 
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-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

after setup, run following command:

[root@dell-per740-12 test]# ovn-nbctl set Logical_Router_Port lr1-ls1 ipv6_ra_configs:send_periodic=false

[root@dell-per740-12 test]# ovn-nbctl list logical_router_port lr1-ls1                                                                                                                                      
_uuid               : 7d565042-d5d2-415f-97eb-39880a674612
enabled             : []                                                                                      
external_ids        : {}                                                 
gateway_chassis     : []                     
ha_chassis_group    : []                                                                                                  
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="false"
}                                                      
mac                 : "00:00:00:00:00:01"                                                                                                                                                                   
name                : lr1-ls1                                                                              
networks            : ["aef0:0:0:0:0:0:0:1/64"]                                                                                                                                                             
options             : {}                          
peer                : []

[root@dell-per740-12 test]# ip netns exec server0 ip link set veth0_s0 down
[root@dell-per740-12 test]# ip netns exec server0 ip link set veth0_s0 up && ip netns exec server0 tcpdump -i veth0_s0 -nnle -vvv
tcpdump: listening on veth0_s0, link-type EN10MB (Ethernet), capture size 262144 bytes
              
fe80::200:ff:fe01:102 > ff02::2: [icmp6 sum ok] ICMP6, rou
ter solicitation, length 16                                                       
          source link-address option (1), length 8 (1): 00:00:00:01:01:02                
            0x0000:  0000 0001 0102                                                                                                                                
03:08:13.123692 00:00:00:00:00:01 > 00:00:00:01:01:02, ethertype IPv6 (0x86dd), length 110: (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::200:ff:fe00:1 > fe80::200:ff:fe01:102: [icmp6 sum o
k] ICMP6, router advertisement, length 56 
        hop limit 255, Flags [none], pref medium, router lifetime 65535s, reachable time 0ms, retrans time 0ms
          source link-address option (1), length 8 (1): 00:00:00:00:00:01 
            0x0000:  0000 0000 0001
          prefix info option (3), length 32 (4): aef0::/64, Flags [onlink, auto], valid time infinity, pref. time infinity
            0x0000:  40c0 ffff ffff ffff ffff 0000 0000 aef0
            0x0010:  0000 0000 0000 0000 0000 0000 0000 

<=== pref is medium in the router advertisement, in addition, other ra configuration are not contained in the packet: dnssl, rdnss, etc.

[root@dell-per740-12 test]# ip netns exec server0 ip -6 route list default
default via fe80::200:ff:fe00:1 dev veth0_s0 proto ra metric 1024 expires 65176sec hoplimit 255 pref medium

<== pref is medium