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 2007694

Summary: Need support for pinning logical switches to nodes with OCP Local gw mode
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Tim Rozet <trozet>
Component: OVNAssignee: OVN Team <ovnteam>
Status: CLOSED CURRENTRELEASE QA Contact: Jianlin Shi <jishi>
Severity: high Docs Contact:
Priority: high    
Version: RHEL 8.0CC: ctrautma, dcbw, dceara, jiji
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-04-01 19:19:32 UTC 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 Tim Rozet 2021-09-24 15:55:51 UTC
Description of problem:
This piggy backs off of the work Han did to use DGP on ovn_cluster_router in ovn-kubernetes to pin logical worker switches to nodes and greatly reduce the number of lflows ovn-controller cares about:

https://github.com/ovn-org/ovn-kubernetes/pull/2388
https://github.com/ovn-org/ovn/commit/22298fd3790825f45680508bde821bb9a2d525d2

This support works with shared gateway mode with ovn-kubernetes, but not with local gateway mode. This is because with local gateway mode we have another DGP from ovn_cluster_router that uses NAT to be able to send packets back to the host. See Han's comment:
https://github.com/ovn-org/ovn-kubernetes/pull/2388#issuecomment-904262242

The first patch is already submitted for review by Nutanix:
http://patchwork.ozlabs.org/project/ovn/patch/20210920143018.211814-1-sangana.abhiram@nutanix.com/

Han is working on the second patch.

Version-Release number of selected component (if applicable):
We need this backported to versions of OCP which use local gw (4.7 and 4.8). This means we need it in OVN version 20.12.

Comment 2 Dumitru Ceara 2021-10-06 14:19:19 UTC
Based on more scale testing, it seems that backporting load balancer
fixes to ovn2.13 reduces the cpu usage in ovn-controller to an
acceptable level in OCP 4.7:

    * Wed Oct 06 2021 Dumitru Ceara <dceara> - 20.12.0-183
    - lflow: Refactor OpenFlow snat hairpin flows
      [6a878559f71217fc73a6fe47d80bc309b42b43a3]
    * Wed Oct 06 2021 Dumitru Ceara <dceara> - 20.12.0-182
    - lflow: Generate unique integer for each Load Balancer
      [e18a131e41dd68a017bb8b702451c4b04078e505]
    * Wed Oct 06 2021 Dumitru Ceara <dceara> - 20.12.0-181
    - Stop setting Load_Balancer references in SB Datapath_Binding records. (#1978605)
      [0c1980cf2c58b6c3ef18784f4fa26230fa226b14]
    * Wed Oct 06 2021 Dumitru Ceara <dceara> - 20.12.0-180
    - controller: Avoid unnecessary load balancer flow processing. (#1978605)
      [9c53936f12d28e6d87990f68d962e6b23cb30e0c]

Therefore, it seems we don't need to backport the DGP commit
(https://github.com/ovn-org/ovn/commit/22298fd3790825f45680508bde821bb9a2d525d2)
to downstream ovn2.13-20.12.0.

Comment 3 Tim Rozet 2021-10-06 15:05:16 UTC
Right, but we still need this for supporting local gw mode in 4.9 and later.

Comment 4 Dumitru Ceara 2021-10-06 15:18:19 UTC
(In reply to Tim Rozet from comment #3)
> Right, but we still need this for supporting local gw mode in 4.9 and later.

Sure, then backports would have to go to ovn21.09.

Comment 5 Dan Williams 2022-04-01 19:19:32 UTC
OCP bumped 4.9+ to ovn-2021 so I think we can close this.