diff options
Diffstat (limited to 'zebra/zapi_msg.c')
| -rw-r--r-- | zebra/zapi_msg.c | 7 |
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) |
