[ovs-dev] [PATCH v7 0/4] Use VLANs for VLAN packets redirected to a gateway chassis

vkommadi at redhat.com vkommadi at redhat.com
Wed Aug 1 12:16:31 UTC 2018


From: venkata anil <vkommadi at redhat.com>

This patch avoids tunneling and instead uses source tenant vlan network
across hypervisors for traffic from vlan network on local hypervisor
towards gateway hypervisor hosting redirect chassiss port.

On the local hypervisor, when the packet enters logical router ingress
pipeline from tenant vlan network, router will set REGBIT_NAT_REDIRECT
and redirect the packet to gateway hypervisor, which is hosting the
chassis redirect port, using tenant vlan network.
Packet travelling across hypervisors will have source vlan tag and
distributed gateway port MAC as destination MAC (other packet data
unchanged).

Gateway hypervisor will check the vlan tag and destination MAC and
resubmit it to router logical ingress pipeline for routing and finding 
the logical output port(i.e it treats this packet as coming from the 
local patch port connected to tenant vlan network for routing).

No changes done for return path as return path to source hypervisor
always uses tenant vlan networks.

v6->v7:
* Rebased
* Addressed review comments
* New patch 4 for fixing issue 1 reported in
  https://mail.openvswitch.org/pipermail/ovs-dev/2018-July/349803.html

v5->v6:
* Rebased

v4->v5
* Rebased
* New patch 3 for Documentation(no changes in other patches)

v3->v4:
* Rebased
* Splitting patch into patch series. Entire patch of v3 became patch 1
  of this series.
* Updated flow in gateway chassis to check gateway port MAC address
  (in patch 1)
* New patch 2 for ARP/gARP of gateway port through router internal ports

venkata anil (4):
  Avoid tunneling for VLAN packets redirected to a gateway chassis
  Send gateway port ARP through router internal ports
  Document the flows for redirecting VLAN packets
  Replace router internal MAC with gateway MAC for reply packets

 ovn/controller/bfd.c            |   3 +-
 ovn/controller/binding.c        |  10 +-
 ovn/controller/ovn-controller.c |   3 +
 ovn/controller/ovn-controller.h |  17 ++-
 ovn/controller/physical.c       | 180 +++++++++++++++++++++++--
 ovn/controller/pinctrl.c        |  57 +++++++-
 ovn/lib/logical-fields.c        |   4 +
 ovn/lib/logical-fields.h        |   2 +
 ovn/northd/ovn-northd.8.xml     |  56 ++++++++
 ovn/northd/ovn-northd.c         | 121 +++++++++++++++++
 ovn/ovn-architecture.7.xml      |  30 ++++-
 tests/ovn.at                    | 284 ++++++++++++++++++++++++++++++++++++++++
 12 files changed, 748 insertions(+), 19 deletions(-)

-- 
1.8.3.1



More information about the dev mailing list