On 5/13/20 3:38 PM, Ihar Hrachyshka wrote:
> Hi all,
> 
> This series is to allow for multiple localnet ports to be present in a
> logical switch. Even before the series, it was allowed to create
> multiple ports of this kind but they were handled inconsistently.
> 
> This series uses logical switches with multiple localnet ports
> (LSMLP) to implement what is called "routed provider networks" in
> OpenStack. To elaborate, this allows to natively model a network that
> has multiple segments with implied L3 routing between the segments
> realized by the fabric. A user can operate such a network as a single
> entity instead of deciding on which segment to choose for their
> port bindings.
> 
> The assumption in this implementation is that while a logical switch can
> have multiple localnet ports, each chassis has only one of corresponding
> physical networks mapped. Meaning, if the same LS has localnet ports for
> networks A, B, and C, then each chassis can either be mapped to A, B, or
> C, but not several of the networks. (Note this doesn't mean that a
> chassis can't be mapped to network D, as long as it doesn't have a
> corresponding localnet port in this same logical switch.)
> 
> Ihar Hrachyshka (6):
>   Spin out flow generation into build_dhcpv4_options_flows
>   Spin out flow generation into build_dhcpv6_options_flows
>   Spin out flow generation into build_pre_acl_flows
>   Spin out flow generation into
>     build_drop_arp_nd_flows_for_unbound_router_ports
>   Support logical switches with multiple localnet ports
>   Log missing bridge per localnet port just once

For the series:

Acked-by: Dumitru Ceara <[email protected]>

Thanks,
Dumitru

> 
> ---
> v2: - rebase on top of series that refactors code dealing with
>       localnet ports.
>     - tests: send packets both ways, more test scenarios covered.
>     - use x2nrealloc to allocate ->localnet_ports.
>     - use n_localnet_ports counter instead of localnet_ports pointer
>       to detect switches with localnet ports.
> v3: - adjusted documentation to be more explicit about how multiple
>       localnet ports scenario should be used in practice.
>     - more tests (broadcast, multiple co-hosted switches with multiple
>       localnet ports)
> v4: - sent as a series, fixed test description to reflect we test
>       broadcast only.
> v5: - fixed a test case failure on slower machines due to service
>       broadcast traffic captured.
>     - rearranged parameters in new functions to keep output parameters
>       at the end.
> v6: - fixed several memory leaks due to struct ds not destroyed /
>       char* not freed.
>     - explained why we don't rate limit messages about unbound
>       localnet ports.
>     - docs: fixed a missing space between sentences.
>     - nit: rearranged code inside controller/patch.c to avoid an `if`.
> v7: - simplified new build_* functions by removing stage_hint
>       calculation.
>     - simplified signature of build_pre_acl_flows_for_nbsp.
>     - renamed build_pre_acl_flows_for_nbsp -> build_pre_acl_flows.
>     - nit: removed redundant newlines between new build_* functions.
> ---
> 
>  controller/binding.c   |  16 ++
>  controller/patch.c     |  31 ++-
>  northd/ovn-northd.c    | 474 ++++++++++++++++++++------------------
>  ovn-architecture.7.xml |  50 ++--
>  ovn-nb.xml             |  23 +-
>  ovn-sb.xml             |  21 +-
>  tests/ovn.at           | 504 +++++++++++++++++++++++++++++++++++++++++
>  7 files changed, 862 insertions(+), 257 deletions(-)
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to