[ovs-dev] [patch_v4 0/2] ovn: Fix receive from vxlan in ovn-controller.

Darrell Ball dlu998 at gmail.com
Thu Jul 7 05:09:26 UTC 2016


OVN only supports source_node replication and previously vtep interaction,
which used service node replication by default for multicast/broadcast/unknown
unicast traffic worked by happenstance.  Because of limited vxlan
encapsulation metadata, received packets were resubmitted to find the egress
port(s). This is not correct for multicast, broadcast and unknown unicast traffic
as traffic will get resent on the tunnel mesh. ovn-controller is changed not to
send traffic received from vxlan tunnels out the tunnel mesh again.  Traffic
received from vxlan tunnels is now only sent locally as intended.

To support keeping state for receipt from a vxlan tunnel a MFF logical
register is allocated for general scratchpad purposes and one bit is used for
receipt from vxlan.  The new register usage is documented in a new
OVN-DESIGN.md document and a table is added to track MFF logical metadata
and register usage.

Some micro-details (e.g.) register assignments) that may change over time
were moved from the ovn-architecture.7.xml document to the OVN-DESIGN.md
document.  The OVN-DESIGN.md file was tested using the following markdown
parsers:

https://jbt.github.io/markdown-editor/
http://dillinger.io/

As part of this change ovn-controller-vtep is hard-coded to set the replication
mode of each logical switch to source node as OVN will only support source
node replication.

v3->v4: Rebase.

v2->v3:
Change reg0 and reg1 usage column comment to "generic scratch".
Split code change for bug fix and documentation update into two patches.

v1->v2:
Rebased after recent conflicting commit.  Converted some xml
comments ported from the ovn-architecture document. Removed redundant
register initialization and unnecessary bit declaration. 

Darrell Ball (2):
  ovn: Fix receive from vxlan in ovn-controller.
  ovn: Reformat some ovn design documentation.

 ovn/OVN-DESIGN.md          | 185 ++++++++++++++++++++++++++++++++++++++++++++
 ovn/automake.mk            |   1 +
 ovn/controller-vtep/vtep.c |   4 +
 ovn/controller/physical.c  |  24 ++++--
 ovn/lib/logical-fields.h   |  13 +++-
 ovn/ovn-architecture.7.xml | 188 ---------------------------------------------
 tests/ovn.at               |   3 +
 7 files changed, 223 insertions(+), 195 deletions(-)
 create mode 100644 ovn/OVN-DESIGN.md

-- 
1.9.1




More information about the dev mailing list