summaryrefslogtreecommitdiff
path: root/zebra/zebra_mroute.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@openbsd.org>2018-03-12 22:43:05 -0300
committerGitHub <noreply@github.com>2018-03-12 22:43:05 -0300
commitecef81cea9f2f1df598e4ce8e2e9ff76af55c4dd (patch)
treeee3fcae8e7b085a6938c2f404beead8b15da64e3 /zebra/zebra_mroute.c
parentfac615f43b18bf88ccf78d8b0c20046f73f046a4 (diff)
parent41903a407407bcdf73dbd471dea3f53d2d056b0b (diff)
Merge pull request #1828 from qlyoung/zapi-cleanup
zebra: giant zapi cleanup
Diffstat (limited to 'zebra/zebra_mroute.c')
-rw-r--r--zebra/zebra_mroute.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/zebra/zebra_mroute.c b/zebra/zebra_mroute.c
index e9cd19ebe0..042bd3769e 100644
--- a/zebra/zebra_mroute.c
+++ b/zebra/zebra_mroute.c
@@ -32,17 +32,16 @@
#include "zebra/rt.h"
#include "zebra/debug.h"
-int zebra_ipmr_route_stats(struct zserv *client, u_short length,
- struct zebra_vrf *zvrf)
+void zebra_ipmr_route_stats(ZAPI_HANDLER_ARGS)
{
struct mcast_route_data mroute;
struct stream *s;
int suc = -1;
memset(&mroute, 0, sizeof(mroute));
- STREAM_GET(&mroute.sg.src, client->ibuf, 4);
- STREAM_GET(&mroute.sg.grp, client->ibuf, 4);
- STREAM_GETL(client->ibuf, mroute.ifindex);
+ STREAM_GET(&mroute.sg.src, msg, 4);
+ STREAM_GET(&mroute.sg.grp, msg, 4);
+ STREAM_GETL(msg, mroute.ifindex);
if (IS_ZEBRA_DEBUG_KERNEL) {
char sbuf[40];
@@ -57,7 +56,7 @@ int zebra_ipmr_route_stats(struct zserv *client, u_short length,
suc = kernel_get_ipmr_sg_stats(zvrf, &mroute);
stream_failure:
- s = client->obuf;
+ s = stream_new(ZEBRA_MAX_PACKET_SIZ);
stream_reset(s);
@@ -68,6 +67,5 @@ stream_failure:
stream_putl(s, suc);
stream_putw_at(s, 0, stream_get_endp(s));
- zebra_server_send_message(client);
- return 0;
+ zebra_server_send_message(client, s);
}