The following patch series implements physical-logical separation
to be used presently by gateways. 
The patch series also includes L2 SW Gateway support, which depends on the 
physical endpoint changes.  The gateway changes in this patch series are for
SW gateways only, as HW gateways will be updated later.

The physical endpoint changes allow the physical network to be
managed more easily by a dedicated provider network management function
and also allow the northbound schema to remain purely logical.
Another benefit to allow more easily for additional encapsulations to be
used when interacting with physical provider networks.

Physical endpoints are defined here as endpoints at the border of a physical 
network.
This presently applies to gateways.
If no physical endpt, the encap is assumed empty.
For gateways, a single physical endpoint must be bound to each logical port.
The chassis name must match the chassis system-id. All 6 arguments must
be supplied for gateway physical endpoints configuration.
Support is provided to bind multiple physical endpoints to a logical port for
future considerations.

Physical Endpoint Patch:
 
ovn-sb.ovsschema: Add physical endpoint table and phys_endpts to logical ports

ovn-sb.xml: Update documentation regarding physical endpoints and their
binding to logical ports. Also describe possible future encapsulation type 
usages.

ovn-sbctl.c: Add configuration for physcial endpoints and binding to logical 
ports.

ovn-sbctl.8.in: Update the ovn-sbctl man page for physical endpoints and binding
to logical ports.

L2 SW Gateways Patch:

The SW gateway runs in the context of ovn-controller as other HVs.
The gateway node uses a single bridge (call it br-int) that is actively 
controlled by 
OVN. This bridge also houses the tunnels connecting other HVs.
Additional physical bridges are created for each physical port supported
by the gateway. These bridges enforce normal action only by default.
A pair of patch ports are created to connect each LS to br-int.

A new logical port type is added for SW gateways called "gw". This is needed
to differentiate logic from HW gateway support. Changes to HW gateway
support are coming in a subsequent series.

patch.c: Physical bridge and patch port creation

physical.c: Add SW gateway flow generation support, including physical endpoint
support. Support gateway br-int patch ports as "physical" ports

binding.c support the use of physical endpoint for gateway (gw) logical ports

ovn-nb.xml: document the new "gw" logical port type
                    remove tag field for localnet under container support

ovn-sb.xml:
Document the new "gw" logical port type

ovn-controller.c; patch.h: Add a chassis name parameter needed for gateways
Particular logical port types are not presently specified/enforced in the NB 
and SB
schemas themselves. This may be to allow flexibility and ease of adding new 
types.

Test case updates:

ovn.at: A new test is added to exercise the SW gateway for L2 switching and also
            using physical endpoints.


v1->v2: Fix physical bridge creation logic and update based on RFC patch
series review

v2->v3: Separate Physical endpoint support and L2 SW gateway support patches
             Drop Localnet from physical endpoint support
             Fix a bug in phys_endpt add to better handle bad a chassis name.
             Move all chassis binding to binding.c 

Darrell Ball (2):
  [Patch V3] OVN: Physical Endpoints
  [Patch V3] OVN: L2 SW Gateways

 ovn/controller/binding.c        |  13 +-
 ovn/controller/ovn-controller.c |   2 +-
 ovn/controller/patch.c          | 130 +++++++++++++++++-
 ovn/controller/patch.h          |   2 +-
 ovn/controller/physical.c       |  35 ++++-
 ovn/ovn-nb.xml                  |   4 +
 ovn/ovn-sb.ovsschema            |  23 +++-
 ovn/ovn-sb.xml                  |  79 +++++++++++
 ovn/utilities/ovn-sbctl.8.in    |  47 +++++++
 ovn/utilities/ovn-sbctl.c       | 290 +++++++++++++++++++++++++++++++++++++++-
 tests/ovn.at                    | 132 ++++++++++++++++++
 11 files changed, 741 insertions(+), 16 deletions(-)

-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to