From 9a5aa7429f48ae47c035541a387af752c8ec6d09 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 26 Sep 2016 21:26:43 -0400 Subject: [PATCH] pimd,zebra: Pass back error message if received When zebra asks for mroute information let pim know that the request failed or succeeded. Signed-off-by: Donald Sharp --- pimd/pim_zlookup.c | 3 ++- zebra/zebra_mroute.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pimd/pim_zlookup.c b/pimd/pim_zlookup.c index 01e8ee0e5f..8c8fb55ce2 100644 --- a/pimd/pim_zlookup.c +++ b/pimd/pim_zlookup.c @@ -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; diff --git a/zebra/zebra_mroute.c b/zebra/zebra_mroute.c index 8dddb4e507..d05c906704 100644 --- a/zebra/zebra_mroute.c +++ b/zebra/zebra_mroute.c @@ -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); -- 2.39.5