[RFE] L3-agent agent-backend ovs.

Bug #1705536 reported by David Shaughnessy
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Wishlist
Unassigned

Bug Description

The use of linux network namespaces in the l3 agent routers causes a choke point for bandwidth on east/west and north/south traffic.
In the case of east/west traffic, the source and destination interfaces are known to Neutron and could be routed using Open vSwitch if it is selected as the mechanism_driver for the L2-agent.
This should allow the l3-agent to be compatible with DPDK and Windows.

When using network namespaces with Open vSwitch to route an l3 ping packet:
- arp from source vm -> tap1 (vlan tagging skipped) + broadcast to other ports
- tap1-> kernel network stack
- kernel sends arp reply tap1
- tap1-> source vm (vlan tagging skipped)
- icmp from source vm -> tap1(vlan tagging skipped)
- kernel receives icmp on tap1 and send arp request to dest vm via tap2(broadcast)
- arp via tap2 -> dest vm (vlan tagging skipped)
- dest vm replies -> tap2
- kernel updates dest mac and decrement ttl the forward icmp packet to tap2
- tap2 -> dest vm-> dest vm replies->tap2.(vlan tagging skipped)
- kernel updates dest mac and decrement ttl the forward icmp reply packet to tap1
- tap1-> source vm

When OpenFlow is used to route the same traffic:
- arp from source vm -> arp rewritten to reply -> sent to source vm ( single openflow action).
- icmp from source vm -> destination mac update, ttl decremented -> dest vm ( single openflow action)
- icmp from dest vm -> destination mac update, ttl decremented -> source vm ( single openflow action)

Introducing a new agent_backend configuration would allow an operator to select which implementation is most suitable to their use case.

Revision history for this message
Assaf Muller (amuller) wrote :

Did you take a look at ODL, OVN, Dragonflow, and probably a bunch of other OVS based Neutron drivers I'm missing?

Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

The use of namespaces limits the adoption of things like DPDK, but there are other solutions out there that do not have that limitation, as Assaf pointed out. Enabling the L3 agent DVR mode to be purely Openflow based (as this RFE seems to imply) now that major strides have been made into OVS is something in the minds of many. Not sure if I would consider it yet another agent_mode, but rather just an internal re-architecture. With that though there's the pain of migration and we all know how tricky these are.

Changed in neutron:
status: Confirmed → Triaged
Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

i'm not sure why the operator needs yet another option while there are already plenty of options as pointed out.

Revision history for this message
Miguel Lavalle (minsel) wrote :
Revision history for this message
Miguel Lavalle (minsel) wrote :

This RFE was discussed on Nov 2 in the drivers meeting. The consensus was that we will not be able to accept this work in the near future (Quuens cycle) due to the continued instability of the DVR - HA gate jobs.Until we can get those jobs stable and voting, it is not advisable to add more moving parts to them.

It was asked, though, whether the foundation of this change could be incorporated in a gradual manner / non disruptive manner, so the task of adding the complete functionality will be less in the future

Miguel Lavalle (minsel)
tags: added: rfe-postponed
removed: rfe
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/639603

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Igor D.C. (<email address hidden>) on branch: master
Review: https://review.openstack.org/639603
Reason: commit mistake

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/639605

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Related fix proposed to branch: master
Review: https://review.openstack.org/642249

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by David Shaughnessy (<email address hidden>) on branch: master
Review: https://review.openstack.org/528336

Miguel Lavalle (minsel)
tags: added: rfe-approved
removed: rfe-postponed
summary: - [RFE] L3-agent agent-mode dvr bridge.
+ [RFE] L3-agent agent-backend ovs.
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Igor D.C. (<email address hidden>) on branch: master
Review: https://review.opendev.org/642249
Reason: Clean up.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Igor D.C. (<email address hidden>) on branch: master
Review: https://review.opendev.org/639605
Reason: Clean up.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron-specs (master)

Change abandoned by Xubo Zhang (<email address hidden>) on branch: master
Review: https://review.opendev.org/629761
Reason: the project is cancelled as we are moving to OVN, which also uses openflow to implement L3

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers