Bug 2074896

Summary: [RFE][TestOnly][GA] Evaluate performance with lb-output-action=true in balance-tcp bond
Product: Red Hat OpenStack Reporter: Haresh Khandelwal <hakhande>
Component: openvswitchAssignee: Miguel Angel Nieto <mnietoji>
Status: VERIFIED --- QA Contact: Vadim Khitrin <vkhitrin>
Severity: high Docs Contact:
Priority: high    
Version: 16.2 (Train)CC: apevec, bperkins, cfields, chrisw, ekuris, eshulman, fbaudin, gurpsing, jamsmith, jelynch, mariel, mnietoji, pparasur, spower, supadhya, vkhitrin
Target Milestone: gaKeywords: FutureFeature, TestOnly, Triaged
Target Release: 17.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Previously, the Open vSwitch (OVS) bond `balance-tcp` mode was only available in RHOSP as a technology preview. Because of L4 hashing re-circulation issues, the mode was not recommended for production. The issues have been resolved and you can use the OVS bond `balance-tcp` mode. You must set `lb-output-action=true` to use `balance-tcp` mode.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Haresh Khandelwal 2022-04-13 09:52:24 UTC
Description of problem:

ovs-dpdk bond type "balance-tcp" is currently not support for production environment.It degrades the performance due to extra re-circulations in the datapath.

However, "other_config:lb-output-action=true" helps to improve performance with balance-tcp bond.

we can set it as below. Default is false.

ovs-vsctl set port <bond port> other_config:lb-output-action=<true|false>

We can verify configuration with below

ovs-appctl dpif-netdev/dp-bond-show [dp]
ovs-appctl bond/show

Currently we configure ovs-dpdk bond via ovs_extra in tripleO. we shall continue same with lb-output-action flag set.

                - type: ovs_user_bridge
                  name: br-link0
                  use_dhcp: false
                  ovs_extra:
                    - str_replace:
                        template: set port br-link0 tag=_VLAN_TAG_
                        params:
                          _VLAN_TAG_:
                            get_param: TenantNetworkVlanID
                  addresses:
                    - ip_netmask:
                        get_param: TenantIpSubnet
                  members:
                    - type: ovs_dpdk_bond
                      name: dpdkbond0
                      mtu: 9000
                      rx_queue: 1
                      ovs_extra:
                        - set port dpdkbond0 bond_mode=balance-slb
                      members:
                        - type: ovs_dpdk_port
                          name: dpdk0
                          members:
                            - type: interface
                              name: nic7
                        - type: ovs_dpdk_port
                          name: dpdk1
                          members:
                            - type: interface
                              name: nic8

lb-output-action is already supported by red hat fast datapath. 

Expectations here are 
 - Successful deployment on all nodes with lb-output-action
 - Performance comparison with/without lb-output-action

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info: