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.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 93ee2fc1f9..bf29bda77b 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -1023,7 +1023,7 @@ static int zsend_table_manager_connect_response(struct zserv *client,
/* Inbound message handling ------------------------------------------------ */
-int cmd2type[] = {
+const int cmd2type[] = {
[ZEBRA_NEXTHOP_REGISTER] = RNH_NEXTHOP_TYPE,
[ZEBRA_NEXTHOP_UNREGISTER] = RNH_NEXTHOP_TYPE,
[ZEBRA_IMPORT_ROUTE_REGISTER] = RNH_IMPORT_CHECK_TYPE,
@@ -1788,7 +1788,7 @@ static void zread_mpls_labels_add(ZAPI_HANDLER_ARGS)
struct zapi_nexthop_label *znh;
znh = &zl.nexthops[i];
- mpls_lsp_install(zvrf, zl.type, zl.local_label, znh->label,
+ mpls_lsp_install(zvrf, zl.type, zl.local_label, 1, &znh->label,
znh->type, &znh->address, znh->ifindex);
if (CHECK_FLAG(zl.message, ZAPI_LABELS_FTN))
@@ -1889,7 +1889,7 @@ static void zread_mpls_labels_replace(ZAPI_HANDLER_ARGS)
struct zapi_nexthop_label *znh;
znh = &zl.nexthops[i];
- mpls_lsp_install(zvrf, zl.type, zl.local_label, znh->label,
+ mpls_lsp_install(zvrf, zl.type, zl.local_label, 1, &znh->label,
znh->type, &znh->address, znh->ifindex);
if (CHECK_FLAG(zl.message, ZAPI_LABELS_FTN)) {
@@ -2288,10 +2288,11 @@ static void zread_vrf_label(ZAPI_HANDLER_ARGS)
ifp->ifindex);
}
- if (nlabel != MPLS_LABEL_NONE)
- mpls_lsp_install(def_zvrf, ltype, nlabel,
- MPLS_LABEL_IMPLICIT_NULL, NEXTHOP_TYPE_IFINDEX,
- NULL, ifp->ifindex);
+ if (nlabel != MPLS_LABEL_NONE) {
+ mpls_label_t out_label = MPLS_LABEL_IMPLICIT_NULL;
+ mpls_lsp_install(def_zvrf, ltype, nlabel, 1, &out_label,
+ NEXTHOP_TYPE_IFINDEX, NULL, ifp->ifindex);
+ }
zvrf->label[afi] = nlabel;
stream_failure:
@@ -2491,7 +2492,7 @@ stream_failure:
return;
}
-void (*zserv_handlers[])(ZAPI_HANDLER_ARGS) = {
+void (*const zserv_handlers[])(ZAPI_HANDLER_ARGS) = {
[ZEBRA_ROUTER_ID_ADD] = zread_router_id_add,
[ZEBRA_ROUTER_ID_DELETE] = zread_router_id_delete,
[ZEBRA_INTERFACE_ADD] = zread_interface_add,
@@ -2562,6 +2563,9 @@ void (*zserv_handlers[])(ZAPI_HANDLER_ARGS) = {
[ZEBRA_IPTABLE_DELETE] = zread_iptable,
[ZEBRA_VXLAN_FLOOD_CONTROL] = zebra_vxlan_flood_control,
[ZEBRA_VXLAN_SG_REPLAY] = zebra_vxlan_sg_replay,
+ [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,
};
#if defined(HANDLE_ZAPI_FUZZING)