On 3/12/26 10:02 PM, Lorenzo Bianconi wrote: > Always use sb_table_set_req_mon_condition macro in update_sb_monitors > routine even for optional tables (e.g. advertised_mac_binding or > advertised_route) since OvS IDL layer will take care of creating proper > monitor requests according to the real db schema. > This patch fixes the conditional monitor support for optional tables > since sb_table_set_opt_mon_condition macro will not properly enable > conditional monitoring until we run update_sb_monitors() in the > ovn-controller main loop. As result we will always receive notifications > for all the columns of optional tables (even if monitor-all is not enabled) > until we modify a monitor conditions. > > Reported-at: https://issues.redhat.com/browse/FDP-3114 > Signed-off-by: Lorenzo Bianconi <[email protected]> > --- > This patch depends on the following OvS patch: > https://mail.openvswitch.org/pipermail/ovs-dev/2026-March/431054.html > ---
Hi Lorenzo, This looks good to me. I think it's fine to repost this once the final version of the OVS counterpart, currently [0] is accepted. I'll mark this one as "Deferred" in patchwork but like I said, the actual non-RFC patch should probably be exactly what the RFC patch is doing (additionally bumping the OVS submodule version). Regards, Dumitru [0] https://patchwork.ozlabs.org/project/openvswitch/patch/bb8da68751ae411ee62c09ee1840fd01c0307bf1.1773327482.git.lorenzo.bianc...@redhat.com/ > controller/ovn-controller.c | 17 +++++------------ > 1 file changed, 5 insertions(+), 12 deletions(-) > > diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c > index 4161fe2b3..9e6089017 100644 > --- a/controller/ovn-controller.c > +++ b/controller/ovn-controller.c > @@ -211,13 +211,6 @@ static char *get_file_system_id(void) > free(filename); > return ret; > } > -/* Only set monitor conditions on tables that are available in the > - * server schema. > - */ > -#define sb_table_set_opt_mon_condition(idl, table, cond) \ > - (sbrec_server_has_##table##_table(idl) \ > - ? sbrec_##table##_set_condition(idl, cond) \ > - : 0) > > /* Assume the table exists in the server schema and set its condition. */ > #define sb_table_set_req_mon_condition(idl, table, cond) \ > @@ -430,11 +423,11 @@ out:; > sb_table_set_req_mon_condition(ovnsb_idl, ip_multicast, &ip_mcast), > sb_table_set_req_mon_condition(ovnsb_idl, igmp_group, &igmp), > sb_table_set_req_mon_condition(ovnsb_idl, chassis_private, &chprv), > - sb_table_set_opt_mon_condition(ovnsb_idl, chassis_template_var, &tv), > - sb_table_set_opt_mon_condition(ovnsb_idl, ecmp_nexthop, &nh), > - sb_table_set_opt_mon_condition(ovnsb_idl, advertised_route, &ar), > - sb_table_set_opt_mon_condition(ovnsb_idl, learned_route, &lr), > - sb_table_set_opt_mon_condition(ovnsb_idl, advertised_mac_binding, > + sb_table_set_req_mon_condition(ovnsb_idl, chassis_template_var, &tv), > + sb_table_set_req_mon_condition(ovnsb_idl, ecmp_nexthop, &nh), > + sb_table_set_req_mon_condition(ovnsb_idl, advertised_route, &ar), > + sb_table_set_req_mon_condition(ovnsb_idl, learned_route, &lr), > + sb_table_set_req_mon_condition(ovnsb_idl, advertised_mac_binding, > &amb), > }; > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
