mbox series

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

Message ID 20180801121635.14509-1-vkommadi@redhat.com
Headers show
Series Use VLANs for VLAN packets redirected to a gateway chassis | expand

Message

Venkata Anil Aug. 1, 2018, 12:16 p.m. UTC
From: venkata anil <vkommadi@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(-)

Comments

Mark Michelson Aug. 14, 2018, 8:44 p.m. UTC | #1
For the series

Acked-by: Mark Michelson <mmichels@redhat.com>

The only criticism I have is that the change to ovn/controller/bfd.c in 
patch 1 is unnecessary. I don't think that's worth putting in another 
revision of the patchset. It's easy enough to have the committer fix that.

On 08/01/2018 08:16 AM, vkommadi@redhat.com wrote:
> From: venkata anil <vkommadi@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(-)
>