On Tue, Mar 29, 2016 at 9:47 PM, Russell Bryant <russ...@ovn.org> wrote:
> This patch implements one approach to using ovn-controller to implement > a software l2 gateway between logical and physical networks. > > A new logical port type called "gateway" is introduced here. It is very > close to how localnet ports work, with the following exception: > A localnet port makes OVN use the physical network as the > transport between hypervisors instead of tunnels. A gateway port still > uses tunnels between all hypervisors, and packets only go to/from the > specified physical network as needed via the chassis the gateway port > is bound to. > > Signed-off-by: Russell Bryant <russ...@ovn.org> > --- > ovn/controller/binding.c | 5 ++ > ovn/controller/ovn-controller.8.xml | 15 ++-- > ovn/controller/ovn-controller.c | 2 +- > ovn/controller/patch.c | 24 ++++-- > ovn/controller/patch.h | 2 +- > ovn/controller/physical.c | 10 ++- > ovn/ovn-nb.xml | 19 +++++ > ovn/ovn-sb.xml | 38 +++++++++ > tests/ovn.at | 164 > ++++++++++++++++++++++++++++++++++++ > 9 files changed, 259 insertions(+), 20 deletions(-) > > diff --git a/ovn/controller/ovn-controller.8.xml > b/ovn/controller/ovn-controller.8.xml > index 69d4cc0..277d5b4 100644 > --- a/ovn/controller/ovn-controller.8.xml > +++ b/ovn/controller/ovn-controller.8.xml > @@ -169,18 +169,19 @@ > <p> > The presence of this key identifies a patch port as one created > by > <code>ovn-controller</code> to connect the integration bridge > and > - another bridge to implement a <code>localnet</code> logical > port. > - Its value is the name of the logical port with type=localnet > that > - the port implements. > + another bridge to implement a <code>localnet</code> or > + <code>gateway</code> logical port. Its value is the name of the > + logical port with <code>type</code> set to <code>localnet</code> > + or <code>gateway</code> that the port implements. > See <code>external_ids:ovn-bridge-mappings</code>, above, > for more information. > </p> > > <p> > - Each <code>localnet</code> logical port is implemented as a > pair of > - patch ports, one in the integration bridge, one in a different > - bridge, with the same > <code>external-ids:ovn-localnet-port</code> > - value. > + Each <code>localnet</code> and <code>gateway</code> logical port > + is implemented as a pair of patch ports, one in the integration > + bridge, one in a different bridge, with the same > + <code>external-ids:ovn-localnet-port</code> value. > </p> > </dd> > Suggestion to self: It probably makes sense to rename the "ovn-localnet-port" external-id to something like "ovn-bridge-mapping". That may help make it more clear that the patch port connects br-int and another ovs bridge as defined by ovn-bridge-mappings and that these patch ports are no longer specific to "type=localnet" ports. -- Russell Bryant _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev