gm_ifp->cur_qrv = pim_ifp->gm_default_robustness_variable;
gm_ifp->cur_query_intv = pim_ifp->gm_default_query_interval * 1000;
- gm_ifp->cur_query_intv_trig = gm_ifp->cur_query_intv;
+ gm_ifp->cur_query_intv_trig =
+ pim_ifp->gm_specific_query_max_response_time_dsec * 100;
gm_ifp->cur_max_resp = pim_ifp->gm_query_max_response_time_dsec * 100;
gm_ifp->cur_lmqc = pim_ifp->gm_last_member_query_count;
if (gm_ifp->cur_query_intv != cfg_query_intv) {
gm_ifp->cur_query_intv = cfg_query_intv;
- gm_ifp->cur_query_intv_trig = cfg_query_intv;
+ changed = true;
+ }
+
+ unsigned int cfg_query_intv_trig =
+ pim_ifp->gm_specific_query_max_response_time_dsec * 100;
+
+ if (gm_ifp->cur_query_intv_trig != cfg_query_intv_trig) {
+ gm_ifp->cur_query_intv_trig = cfg_query_intv_trig;
changed = true;
}
int lib_interface_gmp_address_family_last_member_query_interval_modify(
struct nb_cb_modify_args *args)
{
-#if PIM_IPV == 4
struct interface *ifp;
struct pim_interface *pim_ifp;
int last_member_query_interval;
break;
}
-#else
- /* TBD Depends on MLD data structure changes */
-#endif
return NB_OK;
}
vty_out(vty, " ipv6 mld last-member-query-count %d\n",
pim_ifp->gm_last_member_query_count);
+ /* IF ipv6 mld last-member_query-interval */
+ if (pim_ifp->gm_specific_query_max_response_time_dsec !=
+ IGMP_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC)
+ vty_out(vty, " ipv6 mld last-member-query-interval %d\n",
+ pim_ifp->gm_specific_query_max_response_time_dsec);
+
return 0;
}
#endif