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.).

v8 -> v9:
  - Rebased on top of b9809453f546 ("northd: Split en_lflow into compute
    and sync nodes.").  Every lflow handler touched by the series now only
    unlinks, rebuilds and marks its lflow_refs dirty, leaving the sync to
    the new lflow sync node:
      * 3/6: deleted "router" switch ports also unlink their
        stateful_lflow_ref, and the ls_stateful flows of switches whose set
        of router ports changed are rebuilt and marked dirty.
      * 4/6: lflow_handle_northd_lrp_changes() follows the same model.
      * 6/6: lflow_handle_northd_ls_changes() follows the same model.
  - 5/6: rebased on the lflow-mgr.c changes in main.  The single-datapath
    path already rebuilds its bitmap on re-link there, so the fix now only
    touches the datapath group path, which still asserted on the bitmap
    length.  Without it, the test added by this patch still aborts northd
    on current main.
  - 6/6: no longer builds the ls_stateful flows of created and deleted
    switches.  That was only done to keep the datapath groups shared with
    od->datapath_lflows stable, which the lflow sync node now takes care
    of; lflow_handle_ls_stateful_changes() handles those records as it does
    for any other switch.  build_ls_stateful_flows(), which this patch
    moves, picks up the CT extraction flow changes from main.
  - Dropped v8 7/7 ("northd: Skip redundant ls_stateful reprocessing for
    created switches."): with 6/6 no longer building those flows there is
    nothing redundant left to skip.  Its test is kept, in 6/6.

Lucas Vargas Dias (6):
  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/en-group-ecmp-route.c |   29 +-
 northd/en-lflow.c            |   14 +-
 northd/en-lr-stateful.c      |   16 +-
 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           |   22 +-
 northd/northd.c              | 1315 ++++++++++++++++++++++++++++++----
 northd/northd.h              |   31 +-
 tests/ovn-northd.at          | 1189 +++++++++++++++++++++++++++---
 11 files changed, 2473 insertions(+), 238 deletions(-)


base-commit: 38575ba43e9d0b501f49387f0da40cd3ad83ed94
-- 
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