From 28ab9cc13bb0b6adf68277f12cfcd33b69f40b00 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Mon, 14 Aug 2017 07:18:42 -0700 Subject: FIB table add/delete API only commit only the addition of the .api definition and their invocation through VAT so CSIT can use it Change-Id: Id510f14b1ce007fe5e92120507ea34100652fc64 Signed-off-by: Neale Ranns --- src/vnet/mpls/mpls.api | 14 ++++++++++++++ src/vnet/mpls/mpls_api.c | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'src/vnet/mpls') diff --git a/src/vnet/mpls/mpls.api b/src/vnet/mpls/mpls.api index 5973a0a6cbd..bb849998ab3 100644 --- a/src/vnet/mpls/mpls.api +++ b/src/vnet/mpls/mpls.api @@ -136,6 +136,20 @@ manual_endian manual_print define mpls_tunnel_details vl_api_fib_path2_t mt_paths[mt_count]; }; +/** \brief MPLS Route Add / del route + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mt_table_id - The MPLS table-id the route is added in + @param mt_is_add - Is this a route add or delete +*/ +autoreply define mpls_table_add_del +{ + u32 client_index; + u32 context; + u32 mt_table_id; + u8 mt_is_add; +}; + /** \brief MPLS Route Add / del route @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request diff --git a/src/vnet/mpls/mpls_api.c b/src/vnet/mpls/mpls_api.c index 737299e6a2b..2af6af8fd48 100644 --- a/src/vnet/mpls/mpls_api.c +++ b/src/vnet/mpls/mpls_api.c @@ -50,6 +50,7 @@ #define foreach_vpe_api_msg \ _(MPLS_IP_BIND_UNBIND, mpls_ip_bind_unbind) \ _(MPLS_ROUTE_ADD_DEL, mpls_route_add_del) \ +_(MPLS_TABLE_ADD_DEL, mpls_table_add_del) \ _(MPLS_TUNNEL_ADD_DEL, mpls_tunnel_add_del) \ _(MPLS_TUNNEL_DUMP, mpls_tunnel_dump) \ _(MPLS_FIB_DUMP, mpls_fib_dump) @@ -57,6 +58,22 @@ _(MPLS_FIB_DUMP, mpls_fib_dump) extern void stats_dslock_with_hint (int hint, int tag); extern void stats_dsunlock (void); +void +vl_api_mpls_table_add_del_t_handler (vl_api_mpls_table_add_del_t * mp) +{ + vl_api_mpls_table_add_del_reply_t *rmp; + vnet_main_t *vnm; + int rv = 0; + + vnm = vnet_get_main (); + vnm->api_errno = 0; + + + rv = (rv == 0) ? vnm->api_errno : rv; + + REPLY_MACRO (VL_API_MPLS_TABLE_ADD_DEL_REPLY); +} + static int mpls_ip_bind_unbind_handler (vnet_main_t * vnm, vl_api_mpls_ip_bind_unbind_t * mp) -- cgit 1.2.3-korg