summaryrefslogtreecommitdiff
path: root/zebra/zapi_msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zapi_msg.c')
-rw-r--r--zebra/zapi_msg.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index d6f23de487..092b5dd3c2 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -957,7 +957,6 @@ int zsend_pw_update(struct zserv *client, struct zebra_pw *pw)
/* Send response to a get label chunk request to client */
int zsend_assign_label_chunk_response(struct zserv *client, vrf_id_t vrf_id,
- uint8_t proto, uint16_t instance,
struct label_manager_chunk *lmc)
{
int ret;
@@ -965,9 +964,9 @@ int zsend_assign_label_chunk_response(struct zserv *client, vrf_id_t vrf_id,
zclient_create_header(s, ZEBRA_GET_LABEL_CHUNK, vrf_id);
/* proto */
- stream_putc(s, proto);
+ stream_putc(s, client->proto);
/* instance */
- stream_putw(s, instance);
+ stream_putw(s, client->instance);
if (lmc) {
/* keep */
@@ -2199,7 +2198,7 @@ static void zread_label_manager_connect(struct zserv *client,
client->instance = instance;
/* call hook for connection using wrapper */
- lm_client_connect_call(proto, instance, vrf_id);
+ lm_client_connect_call(client, vrf_id);
stream_failure:
return;
@@ -2225,8 +2224,10 @@ static void zread_get_label_chunk(struct zserv *client, struct stream *msg,
STREAM_GETL(s, size);
STREAM_GETL(s, base);
+ assert(proto == client->proto && instance == client->instance);
+
/* call hook to get a chunk using wrapper */
- lm_get_chunk_call(&lmc, proto, instance, keep, size, base, vrf_id);
+ lm_get_chunk_call(&lmc, client, keep, size, base, vrf_id);
stream_failure:
return;
@@ -2248,8 +2249,10 @@ static void zread_release_label_chunk(struct zserv *client, struct stream *msg)
STREAM_GETL(s, start);
STREAM_GETL(s, end);
+ assert(proto == client->proto && instance == client->instance);
+
/* call hook to release a chunk using wrapper */
- lm_release_chunk_call(proto, instance, start, end);
+ lm_release_chunk_call(client, start, end);
stream_failure:
return;