summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-12-07 08:15:16 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-21 20:26:18 -0500
commit07335c8d082da51619883a9b4fff6f848e3dba1b (patch)
treecf4d167bf2be07777d4d3b7f4898f1c03a597391 /pimd/pim_cmd.c
parentee1a0718068320dae2f9711bd0aa41ab0b9c3c2a (diff)
pimd: Modify pim_upstream_new behavior
Modify pim_usptream_new to auto create the pim channel oil. Why? Because there exists situations where we have upstream state and we are attempting to set the inherited_olist on it and we have not created the channel oil yet. When that happens we end up with mroutes that are being meanies. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_cmd.c')
-rw-r--r--pimd/pim_cmd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 60893c8c10..53bae4d5fd 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -2909,7 +2909,7 @@ static void show_mroute(struct vty *vty, u_char uj)
struct interface *ifp_in;
found_oif = 0;
first = 1;
- if (!c_oil->installed)
+ if (!c_oil->installed && !uj)
continue;
pim_inet4_dump("<group?>", c_oil->oil.mfcc_mcastgrp, grp_str, sizeof(grp_str));
@@ -2941,6 +2941,9 @@ static void show_mroute(struct vty *vty, u_char uj)
/* Find the inbound interface nested under the source, create it if it doesn't exist */
json_object_object_get_ex(json_source, in_ifname, &json_ifp_in);
+ json_object_int_add(json_source, "installed", c_oil->installed);
+ json_object_int_add(json_source, "refCount", c_oil->oil_ref_count);
+ json_object_int_add(json_source, "oilSize", c_oil->oil_size);
if (!json_ifp_in) {
json_ifp_in = json_object_new_object();