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.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 4fa7a3c164..4d0e34561a 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -1775,6 +1775,8 @@ static void zread_hello(ZAPI_HANDLER_ARGS)
client->instance = instance;
}
+ /* Graceful restart processing for client connect */
+ zebra_gr_client_reconnect(client);
zsend_capabilities(client, zvrf);
zebra_vrf_update_all(client);
stream_failure:
@@ -2584,14 +2586,14 @@ static void zserv_error_no_vrf(ZAPI_HANDLER_ARGS)
zlog_debug("ZAPI message specifies unknown VRF: %d",
hdr->vrf_id);
- return zsend_error_msg(client, ZEBRA_NO_VRF, hdr);
+ zsend_error_msg(client, ZEBRA_NO_VRF, hdr);
}
static void zserv_error_invalid_msg_type(ZAPI_HANDLER_ARGS)
{
zlog_info("Zebra received unknown command %d", hdr->command);
- return zsend_error_msg(client, ZEBRA_INVALID_MSG_TYPE, hdr);
+ zsend_error_msg(client, ZEBRA_INVALID_MSG_TYPE, hdr);
}
void (*const zserv_handlers[])(ZAPI_HANDLER_ARGS) = {
@@ -2668,6 +2670,7 @@ void (*const zserv_handlers[])(ZAPI_HANDLER_ARGS) = {
[ZEBRA_MLAG_CLIENT_REGISTER] = zebra_mlag_client_register,
[ZEBRA_MLAG_CLIENT_UNREGISTER] = zebra_mlag_client_unregister,
[ZEBRA_MLAG_FORWARD_MSG] = zebra_mlag_forward_client_msg,
+ [ZEBRA_CLIENT_CAPABILITIES] = zread_client_capabilities
};
#if defined(HANDLE_ZAPI_FUZZING)