On 7/25/22 23:34, Han Zhou wrote:
> Also remove the reset mechanism when DB is reconnected, because at DB
> reconnection the data in IDL would not reset.
> 
> Signed-off-by: Han Zhou <hz...@ovn.org>
> ---

Hi Han,

I noticed that with this change the "VIF plugging" test starts failing
when running with conditional monitoring disabled:

777: ovn-controller - VIF plugging -- ovn-northd -- parallelization=no
-- ovn_monitor_all=yes ok
775: ovn-controller - VIF plugging -- ovn-northd -- parallelization=yes
-- ovn_monitor_all=yes ok
778: ovn-controller - VIF plugging -- ovn-northd -- parallelization=no
-- ovn_monitor_all=no FAILED (ovs-macros.at:255)
776: ovn-controller - VIF plugging -- ovn-northd -- parallelization=yes
-- ovn_monitor_all=no FAILED (ovs-macros.at:255)

>  controller/ovn-controller.c |  1 -
>  controller/vif-plug.c       | 20 ++++++--------------
>  2 files changed, 6 insertions(+), 15 deletions(-)
> 
> diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> index 8fc554201..8bb18fc23 100644
> --- a/controller/ovn-controller.c
> +++ b/controller/ovn-controller.c
> @@ -3874,7 +3874,6 @@ main(int argc, char *argv[])
>              if (!new_ovnsb_cond_seqno) {
>                  VLOG_INFO("OVNSB IDL reconnected, force recompute.");
>                  engine_set_force_recompute(true);
> -                vif_plug_reset_idl_prime_counter();
>              }
>              ovnsb_cond_seqno = new_ovnsb_cond_seqno;
>          }
> diff --git a/controller/vif-plug.c b/controller/vif-plug.c
> index c6fbe7e59..38348bf54 100644
> --- a/controller/vif-plug.c
> +++ b/controller/vif-plug.c
> @@ -532,22 +532,14 @@ vif_plug_handle_iface(const struct ovsrec_interface 
> *iface_rec,
>   * completeness of the initial data downloading we need this counter so that 
> we
>   * do not erronously unplug ports because the data is just not loaded yet.
>   */
> -#define VIF_PLUG_PRIME_IDL_COUNT_SEEED 10
> -static int vif_plug_prime_idl_count = VIF_PLUG_PRIME_IDL_COUNT_SEEED;
> -
> -void
> -vif_plug_reset_idl_prime_counter(void)
> -{
> -    vif_plug_prime_idl_count = VIF_PLUG_PRIME_IDL_COUNT_SEEED;
> -}
> -

We should remove this from the .h file too.

>  void
>  vif_plug_run(struct vif_plug_ctx_in *vif_plug_ctx_in,
>               struct vif_plug_ctx_out *vif_plug_ctx_out)
>  {
> -    if (vif_plug_prime_idl_count && --vif_plug_prime_idl_count > 0) {
> -        VLOG_DBG("vif_plug_run: vif_plug_prime_idl_count=%d, will not unplug 
> "
> -                 "ports in this iteration.", vif_plug_prime_idl_count);
> +    bool delay_plug = daemon_started_recently();
> +    if (delay_plug) {
> +        VLOG_DBG("vif_plug_run: daemon started recently, will not unplug "
> +                 "ports in this iteration.");
>      }
>  
>      if (!vif_plug_ctx_in->chassis_rec) {
> @@ -557,7 +549,7 @@ vif_plug_run(struct vif_plug_ctx_in *vif_plug_ctx_in,
>      OVSREC_INTERFACE_TABLE_FOR_EACH (iface_rec,
>                                       vif_plug_ctx_in->iface_table) {
>          vif_plug_handle_iface(iface_rec, vif_plug_ctx_in, vif_plug_ctx_out,
> -                              !vif_plug_prime_idl_count);
> +                              !delay_plug);
>      }
>  
>      struct sbrec_port_binding *target =
> @@ -573,7 +565,7 @@ vif_plug_run(struct vif_plug_ctx_in *vif_plug_ctx_in,
>          enum en_lport_type lport_type = get_lport_type(pb);
>          if (lport_type == LP_VIF) {
>              vif_plug_handle_lport_vif(pb, vif_plug_ctx_in, vif_plug_ctx_out,
> -                                      !vif_plug_prime_idl_count);
> +                                      !delay_plug);
>          }
>      }
>      sbrec_port_binding_index_destroy_row(target);

Regards,
Dumitru

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to