Bug 2217944 - [ovs bond options]some options quirky and poorly documented
Summary: [ovs bond options]some options quirky and poorly documented
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: openvswitch
Version: RHEL 8.0
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
: ---
Assignee: Mike Pattrick
QA Contact: mhou
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-06-27 15:03 UTC by mhou
Modified: 2023-08-14 10:55 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FD-2985 0 None None None 2023-06-27 15:04:57 UTC

Description mhou 2023-06-27 15:03:01 UTC
Description of problem:
The test result does not meet the expectations of the document description

other_config : bond-primary,/bond_updelay/bond_downdelay/bond_fake_iface/all-members-active/bond-detect-mode

ovs-appctl  bond/enable-member port member or bond/disable-member port member

ovs-appctl  bond/hash mac [vlan] [basis]

Version-Release number of selected component (if applicable):
ovs version:openvswitch3.1-3.1.0-24.el9fd

How reproducible: 100%


Steps to Reproduce:
1. bond/disable-member port member
              Enables (or disables) member on the given  bond  port,  skipping
              any updelay (or downdelay).

              This  setting  is not permanent: it persists only until the car‐
              rier status of member changes 

#ovs-vsctl show
    Bridge bondbridge
        Port balance-slb
            Interface ens4f1
            Interface ens4f0
        Port bondbridge
            Interface bondbridge
                type: internal
    ovs_version: "3.1.2"
# ovs-appctl bond/show
---- balance-slb ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
lb_output action: disabled, bond-id: -1
all members active: false
updelay: 0 ms
downdelay: 0 ms
next rebalance: 143736 ms
lacp_status: off
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: 3c:fd:fe:bd:1c:a5(ens4f1)

member ens4f0: enabled
  may_enable: true

member ens4f1: enabled
  active member
  may_enable: true
  hash 40: 54 kB load

use ovs-appctl to disable ens4f1 

# ovs-appctl bond/disable-member balance-slb ens4f1
disabled

# ovs-appctl bond/show
---- balance-slb ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
lb_output action: disabled, bond-id: -1
all members active: false
updelay: 0 ms
downdelay: 0 ms
next rebalance: 70490 ms
lacp_status: off
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: 3c:fd:fe:bd:1c:a5(ens4f1)

member ens4f0: enabled
  may_enable: true

member ens4f1: enabled
  active member
  may_enable: true
  hash 40: 54 kB load

only check slave interface disable and re-enable on ovs-vswitchd.log
# tail -f /var/log/openvswitch/ovs-vswitchd.log 

2023-06-27T14:42:09.735Z|00540|bond|INFO|member ens4f1: disabled
2023-06-27T14:42:09.735Z|00541|bond|INFO|member ens4f1: link state up
2023-06-27T14:42:09.735Z|00542|bond|INFO|member ens4f1: enabled



2. set other_config:all-members-active=false
# ovs-vsctl set port balance-slb other_config:all-members-active=false
# systemctl restart openvswitch
# ovs-appctl bond/show
---- balance-slb ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
lb_output action: disabled, bond-id: -1
all members active: false
updelay: 0 ms
downdelay: 0 ms
next rebalance: 547387 ms
lacp_status: off
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: 3c:fd:fe:bd:1c:a4(ens4f0)

member ens4f0: enabled
  active member
  may_enable: true

member ens4f1: enabled
  may_enable: true


3. For bond_updelay/bond_downdelay ,please check bug 2209901

4. For bond-primary, please check bug 2215744 2214979

5. for bond_fake_iface, still didn't know how to use. Just know, no more user scenario.

6. For bond-detect-mode
Most 10G/25G/50G/100G/200G/400G network cards no longer support MII. It is necessary to explain whether ovs is compatible with other MII protocols (such as RMII, SMII, SSMII, SSSMII, GMII, RGMII, SGMII), and how to check the physical link status of the network card. reference bug: 2188587/2189374/2188587

7. For other_config, The current test shows that using other_config or other-config can configure bond parameters. Need to confirm whether this is the code design.

8. For  bond/hash mac [vlan] [basis], The command lacks detailed usage instructions. bond/hash runs a CRC on the mac address you provide. if current bond port is balance-tcp, 'bond/bash' still can return a value, but this value didn't match hash id which show on 'ovs-appctl bond/show'
# ovs-appctl bond/show
---- balance-tcp ----
bond_mode: balance-tcp
bond may use recirculation: yes, Recirc-ID : 1
bond-hash-basis: 123456
lb_output action: disabled, bond-id: -1
updelay: 0 ms
downdelay: 0 ms
next rebalance: 2070 ms
lacp_status: negotiated
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: 3c:fd:fe:bd:1c:a5(ens4f1)

member ens4f0: enabled
  may_enable: true

member ens4f1: enabled
  active member
  may_enable: true
  hash 175: 14743720 kB load

# ovs-appctl bond/hash 00:de:ad:96:02:02
40

 
bug 2215521

9. Confirm with @mleitner, ovs-bond didn't support HWOL. I think we need to add a support scenarios for ovs bond.

10.ovs-appctl bond/show still show one active member if create balance-slb with all-members-active
# ovs-vsctl add-bond bondbridge balance-slb ens3f0np0 ens3f1np1 lacp=active bond_mode=balance-slb -- set Interface ens3f0np0 mtu_request=9000 -- set Interface ens3f1np1 mtu_request=9000 -- set Port balance-slb other_config:all-members-active=true
[root@dell-per740-09 ~]# ovs-appctl bond/show
---- balance-slb ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
lb_output action: disabled, bond-id: -1
all members active: true
updelay: 0 ms
downdelay: 0 ms
next rebalance: 3886 ms
lacp_status: negotiated
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: b8:3f:d2:43:28:94(ens3f0np0)

member ens3f0np0: enabled
  active member
  may_enable: true

member ens3f1np1: enabled
  may_enable: true


Actual results:


Expected results:


Additional info:


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