mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-01-03 10:12:48 +00:00
pimd: "show ip mroute" skips entries without an OIF
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com> The entry for 230.10.10.4 was not being displayed root@superm-redxp-05[pimd]# ip mroute show (20.0.13.253, 230.10.10.4) Iif: br1 (20.0.13.253, 230.10.10.1) Iif: br1 Oifs: swp1 root@superm-redxp-05[pimd]# root@superm-redxp-05[pimd]# root@superm-redxp-05[pimd]# vtysh -c 'show ip mroute' Proto: I=IGMP P=PIM S=STATIC O=SOURCE Source Group Proto Input iVifI Output oVifI TTL Uptime 20.0.13.253 230.10.10.1 P br1 1 swp1 2 1 00:01:09 20.0.13.253 230.10.10.4 P br1 1 none 0 0 --:--:-- root@superm-redxp-05[pimd]#
This commit is contained in:
parent
b3fb2c27cd
commit
91c6aec45f
@ -2622,6 +2622,7 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
json_object *json_source = NULL;
|
||||
json_object *json_ifp_in = NULL;
|
||||
json_object *json_ifp_out = NULL;
|
||||
int found_oif = 0;
|
||||
|
||||
if (uj) {
|
||||
json = json_object_new_object();
|
||||
@ -2642,6 +2643,7 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
int oif_vif_index;
|
||||
char proto[5];
|
||||
struct interface *ifp_in;
|
||||
found_oif = 0;
|
||||
|
||||
if (!c_oil->installed)
|
||||
continue;
|
||||
@ -2693,6 +2695,7 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
|
||||
ifp_out = pim_if_find_by_vif_index(oif_vif_index);
|
||||
pim_time_uptime(oif_uptime, sizeof(oif_uptime), now - c_oil->oif_creation[oif_vif_index]);
|
||||
found_oif = 1;
|
||||
|
||||
if (ifp_out)
|
||||
strcpy(out_ifname, ifp_out->name);
|
||||
@ -2748,6 +2751,20 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!uj && !found_oif) {
|
||||
vty_out(vty, "%-15s %-15s %-5s %-5s %5d %-6s %5d %3d %8s %s",
|
||||
src_str,
|
||||
grp_str,
|
||||
proto,
|
||||
in_ifname,
|
||||
c_oil->oil.mfcc_parent,
|
||||
"none",
|
||||
0,
|
||||
0,
|
||||
"--:--:--",
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
}
|
||||
|
||||
/* Print list of static routes */
|
||||
@ -2766,6 +2783,7 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
pim_inet4_dump("<group?>", s_route->group, grp_str, sizeof(grp_str));
|
||||
pim_inet4_dump("<source?>", s_route->source, src_str, sizeof(src_str));
|
||||
ifp_in = pim_if_find_by_vif_index(s_route->iif);
|
||||
found_oif = 0;
|
||||
|
||||
if (ifp_in)
|
||||
strcpy(in_ifname, ifp_in->name);
|
||||
@ -2814,6 +2832,7 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
|
||||
ifp_out = pim_if_find_by_vif_index(oif_vif_index);
|
||||
pim_time_uptime(oif_uptime, sizeof(oif_uptime), now - s_route->c_oil.oif_creation[oif_vif_index]);
|
||||
found_oif = 1;
|
||||
|
||||
if (ifp_out)
|
||||
strcpy(out_ifname, ifp_out->name);
|
||||
@ -2846,6 +2865,20 @@ static void show_mroute(struct vty *vty, u_char uj)
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!uj && !found_oif) {
|
||||
vty_out(vty, "%-15s %-15s %-5s %-5s %5d %-6s %5d %3d %8s %s",
|
||||
src_str,
|
||||
grp_str,
|
||||
proto,
|
||||
in_ifname,
|
||||
c_oil->oil.mfcc_parent,
|
||||
"none",
|
||||
0,
|
||||
0,
|
||||
"--:--:--",
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
}
|
||||
|
||||
if (uj) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user