diff options
Diffstat (limited to 'src/vnet/mpls/mpls.h')
-rw-r--r-- | src/vnet/mpls/mpls.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/vnet/mpls/mpls.h b/src/vnet/mpls/mpls.h index 885901f89a4..6baaaad95ba 100644 --- a/src/vnet/mpls/mpls.h +++ b/src/vnet/mpls/mpls.h @@ -23,14 +23,18 @@ #include <vnet/fib/fib_node.h> #include <vnet/adj/adj.h> +struct mpls_main_t; + /** * @brief Definition of a callback for receiving MPLS interface state change * notifications */ -typedef void (*mpls_interface_state_change_callback_t) (u32 sw_if_index, - u32 is_enable); +typedef void (mpls_interface_state_change_function_t) (struct mpls_main_t *mm, + uword opaque, + u32 sw_if_index, + u32 is_enable); -typedef struct +typedef struct mpls_main_t { /* MPLS FIB index for each software interface */ u32 *fib_index_by_sw_if_index; @@ -77,11 +81,14 @@ unformat_function_t unformat_mpls_unicast_label; unformat_function_t unformat_mpls_header; unformat_function_t unformat_pg_mpls_header; +u8 mpls_sw_interface_is_enabled (u32 sw_if_index); + +void mpls_interface_state_change_add_callback ( + mpls_interface_state_change_function_t *function, uword opaque); + int mpls_sw_interface_enable_disable (mpls_main_t *mm, u32 sw_if_index, u8 is_enable); -u8 mpls_sw_interface_is_enabled (u32 sw_if_index); - int mpls_dest_cmp (void *a1, void *a2); int mpls_fib_index_cmp (void *a1, void *a2); |