On Mon, Apr 03, 2023 at 11:50:26AM +0200, Ales Musil wrote: > After integration bridge change the tunnels would > stay on the old bridge preventing new tunnels creation > and disrupting traffic. Detect the bridge change > and clear the tunnels from the old integration bridge. > > Reported-at: https://bugzilla.redhat.com/2173635 > Signed-off-by: Ales Musil <amu...@redhat.com>
... > @@ -4918,6 +4933,8 @@ main(int argc, char *argv[]) > char *ovn_version = ovn_get_internal_version(); > VLOG_INFO("OVN internal version is : [%s]", ovn_version); > > + char *current_br_int_name = NULL; > + > /* Main loop. */ > exiting = false; > restart = false; > @@ -5070,7 +5087,9 @@ main(int argc, char *argv[]) > chassis, > sbrec_sb_global_first(ovnsb_idl_loop.idl), > ovs_table, > - &transport_zones); > + &transport_zones, > + bridge_table, > + current_br_int_name); > > stopwatch_start(CONTROLLER_LOOP_STOPWATCH_NAME, > time_msec()); > @@ -5257,7 +5276,10 @@ main(int argc, char *argv[]) > stopwatch_stop(IF_STATUS_MGR_RUN_STOPWATCH_NAME, > time_msec()); > } > - > + /* The name needs to be reflected at the end of the block. > + * This allows us to detect br-int changes and act > + * accordingly. */ > + consider_br_int_change(br_int, ¤t_br_int_name); > } The above call to consider_br_int_change() will (sometimes) allocate memory for current_br_int_name. Should current_br_int_name be freed when the main loop exits? > > if (!engine_has_run()) { _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev