The non_vif_data tracks ofport number for tunnels and patch ports. Make sure we recompute only for ofport changes, this also prevents recomputes for lflow which has non_vif_data as input node without a handler.
Signed-off-by: Ales Musil <amu...@redhat.com> --- controller/local_data.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/controller/local_data.c b/controller/local_data.c index e256de5fa..97710528f 100644 --- a/controller/local_data.c +++ b/controller/local_data.c @@ -538,9 +538,17 @@ local_nonvif_data_handle_ovs_iface_changes( { const struct ovsrec_interface *iface_rec; OVSREC_INTERFACE_TABLE_FOR_EACH_TRACKED (iface_rec, iface_table) { - if (!strcmp(iface_rec->type, "geneve") || - !strcmp(iface_rec->type, "patch") || - !strcmp(iface_rec->type, "vxlan")) { + /* Check only patch ports or tunnels. */ + if (strcmp(iface_rec->type, "geneve") && + strcmp(iface_rec->type, "patch") && + strcmp(iface_rec->type, "vxlan")) { + continue; + } + /* We are interested only in ofport changes for this handler. */ + if (ovsrec_interface_is_new(iface_rec) || + ovsrec_interface_is_deleted(iface_rec) || + ovsrec_interface_is_updated(iface_rec, + OVSREC_INTERFACE_COL_OFPORT)) { return false; } } -- 2.49.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev