summaryrefslogtreecommitdiffstats
path: root/sharpd
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2020-04-21 14:40:54 +0200
committerMark Stapp <mjs@voltanet.io>2020-06-02 14:22:24 +0200
commit7f5ac773191f496c972920ca164246ccb287d91c (patch)
treeb6085c6df792a9165d72cd954e97f972ecf099e3 /sharpd
parentzebra: add zserv_send_batch api (diff)
downloadfrr-7f5ac773191f496c972920ca164246ccb287d91c.tar.xz
frr-7f5ac773191f496c972920ca164246ccb287d91c.zip
sharpd: add handler for OPAQUE messages
Add a simple handler to receive OPAQUE zapi messages for testing. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'sharpd')
-rw-r--r--sharpd/sharp_zebra.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/sharpd/sharp_zebra.c b/sharpd/sharp_zebra.c
index 0bf5c037c..34cc1a4b5 100644
--- a/sharpd/sharp_zebra.c
+++ b/sharpd/sharp_zebra.c
@@ -480,12 +480,29 @@ static int sharp_redistribute_route(ZAPI_CALLBACK_ARGS)
return 0;
}
+/* Handler for opaque messages */
+static int sharp_opaque_handler(ZAPI_CALLBACK_ARGS)
+{
+ uint32_t type;
+ struct stream *s;
+
+ s = zclient->ibuf;
+
+ STREAM_GETL(s, type);
+
+ zlog_debug("%s: received opaque type %u", __func__, type);
+
+stream_failure:
+
+ return 0;
+}
+
/*
* Send OPAQUE messages, using subtype 'type'.
*/
void sharp_opaque_send(uint32_t type, uint32_t count)
{
- uint8_t buf[100];
+ uint8_t buf[32];
int ret;
uint32_t i;
@@ -561,4 +578,5 @@ void sharp_zebra_init(void)
zclient->redistribute_route_add = sharp_redistribute_route;
zclient->redistribute_route_del = sharp_redistribute_route;
+ zclient->opaque_msg_handler = sharp_opaque_handler;
}