-
Epic
-
Resolution: Unresolved
-
Major
-
None
-
None
-
ovn-northd incremental processing - handle logical router creation/deletion
-
False
-
False
-
-
FDP-759 - Improve ovn-northd incremental processing for network topology changes.
-
ovn26.03-26.03.0-alpha.68.el9fdp
-
rhel-9
-
rhel-net-ovn
-
67% To Do, 0% In Progress, 33% Done
-
ssg_networking
-
FDP 24.H, FDP 25.A, OVN FDP Sprint 8, OVN FDP Sprint 9
-
4
This epic tracks all the effort needed to deliver the solution related to the feature request described below.
Currently northd incremental processing fails when logical routers are added/removed. The I-P node dependency is:
NB.Logical_Router -> en_northd -> en_lflow
When a new router is created/deleted the "en_northd" input handler for logical routers is called:
bool
northd_handle_lr_changes(const struct northd_input *ni,
struct northd_data *nd)
{
const struct nbrec_logical_router *changed_lr; NBREC_LOGICAL_ROUTER_TABLE_FOR_EACH_TRACKED (changed_lr,
ni->nbrec_logical_router_table) {
if (nbrec_logical_router_is_new(changed_lr) ||
nbrec_logical_router_is_deleted(changed_lr)) {
goto fail;
}
...
fail:
destroy_northd_data_tracked_changes(nd);
return false;
}
which in turn causes "en_lflow" handler for en_northd data changes to fail:
bool
lflow_northd_handler(struct engine_node *node,
void *data)
{
struct northd_data *northd_data = engine_get_input_data("northd", node);
if (!northd_has_tracked_data(&northd_data->trk_data)) {
return false;
}
...
This triggers a full recompute of the "en_lflow" node which can be costly at scale.
- is cloned by
-
FDP-1748 CLONE [ovn26.03 fast-datapath-rhel-10] - ovn-northd incremental processing - handle logical router creation/deletion
-
- Dev Complete
-