This series extends northd's incremental processing so that several more
Northbound changes are handled without falling back to a full recompute
of the en_lflow engine node.

Today only plain VIF and remote logical switch ports are processed
incrementally; creating/deleting a logical switch, a logical router port,
or a router/virtual/localport switch port all force a full recompute.
This series closes those gaps, one port/datapath type at a time, and
fixes two latent bugs in the lflow and group-ecmp-route machinery that
only surface once datapaths and ports start being created/deleted
incrementally.

The general approach in each patch is the same: enable the incremental
path only where the port/datapath is safe to handle self-contained,
regenerate the flows that live outside the port's own lflow_ref
explicitly, and fall back to a full recompute for the dependencies that
this path does not (yet) keep in sync (distributed gateway ports,
gateway routers, NAT, load balancers, static/dynamic routing, policies,
etc.).

Patches
-------
 1. localport switch ports: enable the existing per-port incremental
    path, which already owns every flow that differs from a VIF.

 2. virtual switch ports: incremental create/delete, with recompute
    fallbacks for distributed-NAT and dynamic-routing dependencies.

 3. router-type switch ports: wire/tear down the peer relationship to
    the LRP incrementally and regenerate sibling ARP-resolve and
    ls_stateful flows; broad recompute fallback list.

 4. logical router ports (non-gateway): mirror the router-switch-port
    path on the LR side (tunnel key, connected routes, od->router_ips).
    Also fixes unique_routes_remove() matching a route by prefix hash
    only, which could delete the wrong connected route when several
    share a prefix but differ in out_port (e.g. fe80::/64).

 5. lflow-mgr: re-clone a lflow_ref_node's dp-group bitmap when its
    length changed, instead of asserting it is constant. Adding/removing
    a datapath changes the bitmap length and otherwise aborts northd.

 6. logical switch datapaths: handle create/delete incrementally,
    mirroring the logical-router datapath handling; move network-function
    and multicast-flood flows to owners that are already processed
    incrementally.

 7. skip the redundant second rebuild of a created switch's ls_stateful
    flows (already built in the LS-datapath handler).

Patches 1-4 are self-contained per port type. Patches 5-7 belong
together: 5 unblocks incremental datapath churn, 6 uses it for switches,
and 7 removes the resulting duplicate work.

Lucas Vargas Dias (7):
  northd: Enable incremental processing for localport ports.
  northd: Incrementally process virtual port creation and deletion.
  northd: Incrementally process logical switch ports of type "router".
  northd: Incrementally process logical router ports.
  northd: Handle dp-group bitmap length change in lflow ref nodes.
  northd: Incrementally process logical switch datapaths.
  northd: Skip redundant ls_stateful reprocessing for created switches.

 northd/en-group-ecmp-route.c |   29 +-
 northd/en-lflow.c            |   39 +-
 northd/en-ls-stateful.c      |    7 +
 northd/en-multicast.c        |   20 +
 northd/en-northd.c           |   66 +-
 northd/en-sync-sb.c          |    2 +
 northd/lflow-mgr.c           |   12 +-
 northd/northd.c              | 1254 ++++++++++++++++++++++++++++++++--
 northd/northd.h              |   33 +-
 tests/ovn-northd.at          |  414 ++++++++++-
 10 files changed, 1755 insertions(+), 121 deletions(-)

-- 
2.43.0


-- 




_'Esta mensagem é direcionada apenas para os endereços constantes no 
cabeçalho inicial. Se você não está listado nos endereços constantes no 
cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa 
mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas estão 
imediatamente anuladas e proibidas'._


* **'Apesar do Magazine Luiza tomar 
todas as precauções razoáveis para assegurar que nenhum vírus esteja 
presente nesse e-mail, a empresa não poderá aceitar a responsabilidade por 
quaisquer perdas ou danos causados por esse e-mail ou por seus anexos'.*



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

Reply via email to