]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd,zebra: Pass back error message if received
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 27 Sep 2016 01:26:43 +0000 (21:26 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:10 +0000 (20:26 -0500)
When zebra asks for mroute information let pim
know that the request failed or succeeded.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_zlookup.c
zebra/zebra_mroute.c

index 01e8ee0e5f44a14b49b34d13f03c8cb18e03002b..8c8fb55ce23136fbe988cc9c3b4836d57754a2db 100644 (file)
@@ -500,9 +500,10 @@ pim_zlookup_sg_statistics (struct channel_oil *c_oil)
     }
 
   stream_get (&lastused, s, sizeof (lastused));
+  ret = stream_getl (s);
 
   if (PIM_DEBUG_ZEBRA)
-    zlog_debug ("Received %lld for %s", lastused, pim_str_sg_dump (&sg));
+    zlog_debug ("Received %lld for %s success: %d", lastused, pim_str_sg_dump (&sg), ret);
 
   c_oil->cc.lastused = lastused;
 
index 8dddb4e5071a1eabf7f27804ea600ca1bf364d8b..d05c90670423039d003fe4d197c2da408d396ce5 100644 (file)
@@ -37,6 +37,7 @@ zebra_ipmr_route_stats (struct zserv *client, int fd, u_short length, struct zeb
 {
   struct mcast_route_data mroute;
   struct stream *s;
+  int suc;
 
   char sbuf[40];
   char gbuf[40];
@@ -49,7 +50,7 @@ zebra_ipmr_route_stats (struct zserv *client, int fd, u_short length, struct zeb
   strcpy (sbuf, inet_ntoa (mroute.sg.src));
   strcpy (gbuf, inet_ntoa (mroute.sg.grp));
 
-  netlink_get_ipmr_sg_stats (&mroute);
+  suc = netlink_get_ipmr_sg_stats (&mroute);
 
   s = client->obuf;
 
@@ -59,6 +60,7 @@ zebra_ipmr_route_stats (struct zserv *client, int fd, u_short length, struct zeb
   stream_put_in_addr (s, &mroute.sg.src);
   stream_put_in_addr (s, &mroute.sg.grp);
   stream_put (s, &mroute.lastused, sizeof (mroute.lastused));
+  stream_putl (s, suc);
 
   stream_putw_at (s, 0, stream_get_endp (s));
   zebra_server_send_message (client);