On Wed, Jun 15, 2022 at 8:13 PM Mark Michelson <[email protected]> wrote:
> On 6/14/22 09:49, Ales Musil wrote: > > To allow fine tuning the right value for MAC binding > > aging add configuration into NB global table called > > "mac_binding_age_threshold" which accept threshold in > > seconds. Default value being 60 if not specified. > > Would there be any value to allowing users to disable MAC binding aging? > In other words, do we think anyone is going to want to keep the behavior > that was present in previous versions of OVN? > Hi, not that much IMO, but we can have special value e.g. 0 to disable it. Thanks, Ales > > > > > Reported-at: https://bugzilla.redhat.com/2084668 > > Signed-off-by: Ales Musil <[email protected]> > > --- > > controller/ovn-controller.c | 16 +++++++++++++++- > > ovn-nb.xml | 5 +++++ > > 2 files changed, 20 insertions(+), 1 deletion(-) > > > > diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c > > index f91efadf5..9c77c5fcb 100644 > > --- a/controller/ovn-controller.c > > +++ b/controller/ovn-controller.c > > @@ -2292,6 +2292,7 @@ non_vif_data_ovs_iface_handler(struct engine_node > *node, void *data OVS_UNUSED) > > > > struct ed_type_northd_options { > > bool lb_hairpin_use_ct_mark; > > + unsigned long long mb_age_threshold_msec; > > }; > > > > > > @@ -2322,6 +2323,9 @@ en_northd_options_run(struct engine_node *node, > void *data) > > ? smap_get_bool(&sb_global->options, "lb_hairpin_use_ct_mark", > > DEFAULT_SB_GLOBAL_LB_HAIRPIN_USE_CT_MARK) > > : DEFAULT_SB_GLOBAL_LB_HAIRPIN_USE_CT_MARK; > > + n_opts->mb_age_threshold_msec = > > + smap_get_ullong(&sb_global->options, > "mac_binding_age_threshold", > > + 60) * 1000; > > engine_set_node_state(node, EN_UPDATED); > > } > > > > @@ -2339,11 +2343,19 @@ en_northd_options_sb_sb_global_handler(struct > engine_node *node, void *data) > > ? smap_get_bool(&sb_global->options, "lb_hairpin_use_ct_mark", > > DEFAULT_SB_GLOBAL_LB_HAIRPIN_USE_CT_MARK) > > : DEFAULT_SB_GLOBAL_LB_HAIRPIN_USE_CT_MARK; > > + unsigned long long mb_age_threshold_msec = > > + smap_get_ullong(&sb_global->options, > "mac_binding_age_threshold", > > + 60) * 1000; > > > > if (lb_hairpin_use_ct_mark != n_opts->lb_hairpin_use_ct_mark) { > > n_opts->lb_hairpin_use_ct_mark = lb_hairpin_use_ct_mark; > > engine_set_node_state(node, EN_UPDATED); > > } > > + > > + if (mb_age_threshold_msec != n_opts->mb_age_threshold_msec) { > > + n_opts->mb_age_threshold_msec = mb_age_threshold_msec; > > + engine_set_node_state(node, EN_UPDATED); > > + } > > return true; > > } > > > > @@ -3960,12 +3972,14 @@ main(int argc, char *argv[]) > > } > > > stopwatch_start(MAC_BIDNING_AGING_STOPWATCH_NAME, > > time_msec()); > > + struct ed_type_northd_options *n_opts = > > + engine_get_data(&en_northd_options); > > mac_binding_aging_run(ovnsb_idl_txn > ,br_int->name, > > chassis, > > > sbrec_mac_binding_table_get > > (ovnsb_idl_loop.idl), > > > sbrec_mac_biding_by_chassis, > > - 60000); > > + > n_opts->mb_age_threshold_msec); > > > stopwatch_stop(MAC_BIDNING_AGING_STOPWATCH_NAME, > > time_msec()); > > stopwatch_start(PINCTRL_RUN_STOPWATCH_NAME, > > diff --git a/ovn-nb.xml b/ovn-nb.xml > > index 14a624c16..630f906b5 100644 > > --- a/ovn-nb.xml > > +++ b/ovn-nb.xml > > @@ -162,6 +162,11 @@ > > dynamically assigned, e.g. <code>00:11:22</code> > > </column> > > > > + <column name="options" key="mac_binding_age_threshold"> > > + MAC binding aging <code>threshold</code> value in secs. MAC > binding > > + exceeding this timeout will be automatically removed. > > + </column> > > + > > <column name="options" key="controller_event" type='{"type": > "boolean"}'> > > Value set by the CMS to enable/disable ovn-controller event > reporting. > > Traffic into OVS can raise a 'controller' event that results > in a > > > > -- Ales Musil Senior Software Engineer - OVN Core Red Hat EMEA <https://www.redhat.com> [email protected] IM: amusil <https://red.ht/sig> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
