We should not display down interfaces or MLD disabled interfaces in
"show ipv6 mld interface" command.
Before fix:
==========
frr# show ipv6 mld interface
Interface State V Querier Timer Uptime
ens192 up 2 fe80::250:56ff:feb7:d04 query 00:00:25.432 00:00:07.038
ens224 up 1 fe80::250:56ff:feb7:a7e3 query 00:00:24.219 00:00:07.031
pim6reg down
After fix:
=========
frr# show ipv6 mld interface
Interface State V Querier Timer Uptime
ens192 up 2 fe80::250:56ff:feb7:d04 query 00:00:25.432 00:00:07.038
ens224 up 1 fe80::250:56ff:feb7:a7e3 query 00:00:24.219 00:00:07.031
Issue: #11241
Signed-off-by: Sarita Patra <saritap@vmware.com>
(cherry picked from commit
fe4db62c3dbc7a2ab1b27ae879bf0a76dcfe5b4d)
struct gm_if *gm_ifp = pim_ifp->mld;
bool querier;
- if (!gm_ifp) {
- if (js_if)
- json_object_string_add(js_if, "state", "down");
- else
- vty_out(vty, "%-16s %5s\n", ifp->name, "down");
- return;
- }
-
querier = IPV6_ADDR_SAME(&gm_ifp->querier, &pim_ifp->ll_lowest);
if (js_if) {
{
struct interface *ifp;
json_object *js_vrf;
+ struct pim_interface *pim_ifp;
if (js) {
js_vrf = json_object_new_object();
continue;
}
- if (!ifp->info)
+ pim_ifp = ifp ->info;
+
+ if (!pim_ifp || !pim_ifp->mld)
continue;
+
if (js) {
js_if = json_object_new_object();
json_object_object_add(js_vrf, ifp->name, js_if);