[ovs-dev] [RFC PATCH v1 0/6] OVN: Distributed Virtual Router for Vlan Backed Networks

Ankur Sharma ankur.sharma at nutanix.com
Wed Feb 20 22:34:50 UTC 2019


This series is about enhancing the logical router functionality in OVN to work
with vlan backed logical switches.

Intial proposal was discused here:
[1] https://mail.openvswitch.org/pipermail/ovs-dev/2018-October/353066.html
[2] https://docs.google.com/document/d/1uoQH478wM1OZ16HrxzbOUvk5LvFnfNEWbkPT6Zmm9OU/edit?usp=sharing

This series covers following:
a. L2:
   Associate a type with logical switches. Type value could be vlan or overlay.

b. L3 E-W:
   In the absence of encapsulation, we cannot use router port mac as source mac
   (since it is distributed), hence replace the same with a chassis unique mac.

c. L3 N-S:
   Use gateway-chassis construct to respond to ARP requests for router port,
   so that it becomes entry point for all chassis bound traffic coming from
   "external" network.
   Some additional changes, like no need to redirect south to north traffic
   in the absence of NAT etc.

This series does not cover following:
(will be sent out for review in follow up series once this series is reviewed/committed)
a. Network Address Translation.
b. Ensuring VMs mac is learnt in underlay network to avoid flooding of L3 flows.

Additionally, some unit test cases are failing, i am debugging the same.
Still sending out the patches to kick start the review process, v2 will address
the unit test failure as well.

Ankur Sharma (6):
  Vlan Support in ovn, add network type in northbound schema
  Vlan Support in ovn, northd changes to read logical switch network
    type.
  L3 E-W Support in ovn, replace router port mac with chassis mac.
  L3 N-S support in ovn, advertise router port mac from gateway chassis
  L3 N-S support in ovn, do not replace router port mac on gateway
    chassis
  L3 N-S support in ovn, avoid chassis redirection as default for vlan
    backed networks

 ovn/controller/bfd.c                |   5 +-
 ovn/controller/binding.c            |  12 +-
 ovn/controller/chassis.c            |  66 ++++-
 ovn/controller/chassis.h            |   4 +
 ovn/controller/ovn-controller.8.xml |   7 +
 ovn/controller/ovn-controller.c     |   2 +-
 ovn/controller/ovn-controller.h     |   5 +-
 ovn/controller/physical.c           | 120 +++++++++
 ovn/controller/pinctrl.c            | 216 +++++++++++++---
 ovn/controller/pinctrl.h            |   6 +
 ovn/lib/ovn-util.c                  |  31 +++
 ovn/lib/ovn-util.h                  |   6 +
 ovn/northd/ovn-northd.c             |  81 +++++-
 ovn/ovn-nb.ovsschema                |   8 +-
 ovn/ovn-nb.xml                      |   9 +
 ovn/ovn-sb.xml                      |  15 ++
 ovn/utilities/ovn-nbctl.c           |  45 +++-
 tests/ovn-nbctl.at                  |  48 +++-
 tests/ovn-northd.at                 |  22 ++
 tests/ovn.at                        | 504 +++++++++++++++++++++++++++++++++++-
 20 files changed, 1131 insertions(+), 81 deletions(-)

-- 
1.8.3.1



More information about the dev mailing list