[ovs-dev] [PATCH v4] ovn: Connect to remote lports through localnet port.

Ben Pfaff blp at ovn.org
Tue Feb 23 21:04:47 UTC 2016


On Thu, Feb 11, 2016 at 09:36:02PM -0800, Han Zhou wrote:
> Before this patch, inter-chassis communication between VIFs of same
> lswitch will always go through tunnel, which end up of modeling a
> single physical network with many lswitches and pairs of lports, and
> complexity in CMS like OpenStack neutron to manage the lswitches and
> lports.
> 
> With this patch, inter-chassis communication can go through physical
> networks via localnet port with a 1:1 mapping between lswitches and
> physical networks. The pipeline becomes:
> 
> Ingress -> Egress (local) -> Ingress (remote) -> Egress
> 
> The original tunneling mechanism will still be used if there is no
> localnet port configured on the lswitch.
> 
> Signed-off-by: Han Zhou <zhouhan at gmail.com>
> ---
> 
> Notes:
>     v1->v2: rebase on master, and more updates on documents
>     v2->v3: updated based on Russell's comments
>     v3->v4: rebase on master, and updated ovn-nb.xml document

Will this have the desired effect?  I think that putting multiple VIFs
on a logical switch and redirecting outputs to them through the localnet
port will have surprising consequences in some cases.  The first case
that comes to mind is one where some of the VIFs have "unknown" among
their addresses.  In such a case, I'd expect that a packet with an
otherwise unknown destination would output to each of those VIFs.  Since
each of those outputs would be implemented by outputting to the localnet
port, we'd see packet duplication on the localnet port.

I expect that in simple cases this would work OK.  It's probably meant
only for the simple cases.  If so, then I'd recommend documenting it
more thoroughly.  I'd probably start by adding some background text in
ovn-nb.xml in the Logical_Switch table, talking about how there are two
kinds of logical switches, that is, ones that fully virtualize the
network and ones that provide simple connectivity to a physical network
(and try to invent good names for these), and then explain how the two
types have different restrictions and lay out what those are.

We also have some text in ovn-architecture.7.xml that talks about the
flows that ovn-controller sets up in table 33.  It would be good to
update this to explain what happens with localnet ports in this new
world.

Thanks,

Ben.



More information about the dev mailing list