]> git.puffer.fish Git - mirror/frr.git/commitdiff
pim6d: Don't display MLD disabled or down interfaces in "show ipv6 mld interface...
authorSarita Patra <saritap@vmware.com>
Fri, 24 Feb 2023 15:01:22 +0000 (07:01 -0800)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Mon, 27 Feb 2023 19:03:11 +0000 (19:03 +0000)
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)

pimd/pim6_mld.c

index 6faa53afe08dfaf2a1ea0561340309f001aec528..e26f92cf08c35487e438380915a5a7be7f38040e 100644 (file)
@@ -2399,14 +2399,6 @@ static void gm_show_if_one(struct vty *vty, struct interface *ifp,
        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) {
@@ -2450,6 +2442,7 @@ static void gm_show_if_vrf(struct vty *vty, struct vrf *vrf, const char *ifname,
 {
        struct interface *ifp;
        json_object *js_vrf;
+       struct pim_interface *pim_ifp;
 
        if (js) {
                js_vrf = json_object_new_object();
@@ -2466,8 +2459,11 @@ static void gm_show_if_vrf(struct vty *vty, struct vrf *vrf, const char *ifname,
                        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);