[ovs-dev] [PATCH ovn] ovn-northd: Multiple distributed gateway port support.

Han Zhou hzhou at ovn.org
Thu Jul 29 18:15:37 UTC 2021


On Thu, Jul 29, 2021 at 1:02 AM Han Zhou <hzhou at ovn.org> wrote:
>
> From: Ankur Sharma <ankurmnnit2004 at gmail.com>
>
> By default, OVN support only one DGP (distributed gateway port) per
> logical router. While a single DGP port suffices for most of the North
> South connectivity, there are requirements where a logical router could
> be connected to multiple external networks and based on routing decision
> packet could go to different ones.
>
> This patch adds flexibility of having multiple DGPs per logical router.
>
> Changes can classified as following:
> a. Data structure changes to allow multiple DGPs per ovn_datapath.
>
> b. Consumption of new data structure in logical flows for
>    individual features.
>
> c. Features that require changes are:
>    i. Regular NS traffic flow.
>   ii. Network Address Translation.
>  iii. Load Balancer
>   iv. Gateway_mtu.
>    v. reside-on-redirect-chassis
>   vi. Misc code sections that assumed a single DGP.
>
> d. Except for reside-on-redirect-chassis all the other features
>    could be extended to multiple DGPs. Reside on redirect
>    chassis with its current specification could not be extended
>    and hence should be used only with the logical router that
>    has a single DGP.
>
> This patch doesn't support NAT & load-balancer features for multiple
> DGPs yet, but added validations that disables NAT/load-balancer
> features when there are more than one DGP configured per router.
>
> Signed-off-by: Ankur Sharma <ankurmnnit2004 at gmail.com>
> Co-authored-by: Dhathri Purohith <dhathri.purohith at nutanix.com>
> Signed-off-by: Dhathri Purohith <dhathri.purohith at nutanix.com>
> Co-authored-by: Abhiram Sangana <sangana.abhiram at nutanix.com>
> Signed-off-by: Abhiram Sangana <sangana.abhiram at nutanix.com>
> Co-authored-by: Han Zhou <hzhou at ovn.org>
> Signed-off-by: Han Zhou <hzhou at ovn.org>
> ---
>  NEWS                    |   3 +
>  northd/lrouter.dl       | 103 +++-----
>  northd/ovn-northd.8.xml |   6 +-
>  northd/ovn-northd.c     | 535 ++++++++++++++++++++++------------------
>  northd/ovn_northd.dl    | 178 +++++++------
>  ovn-architecture.7.xml  |  19 +-
>  ovn-nb.xml              |  27 +-
>  ovs                     |   2 +-

Sorry that this ovs submodule change was a mistake. I will remove it if a
new version is needed or when applying.

Thanks,
Han

>  tests/ovn-northd.at     |  92 +++++++
>  tests/ovn.at            | 307 +++++++++++++++++++++++
>  10 files changed, 870 insertions(+), 402 deletions(-)


More information about the dev mailing list