X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Flisp-gpe%2Flisp_gpe.h;h=f1fa7715820488daf02d591729bac5bddd627081;hb=7c03ed4;hp=f0405644b11585f9d334b1489c5f29b7b7573c92;hpb=560274d042d12f31aceabff6a293cdf71429552d;p=vpp.git diff --git a/src/vnet/lisp-gpe/lisp_gpe.h b/src/vnet/lisp-gpe/lisp_gpe.h index f0405644b11..f1fa7715820 100644 --- a/src/vnet/lisp-gpe/lisp_gpe.h +++ b/src/vnet/lisp-gpe/lisp_gpe.h @@ -163,6 +163,10 @@ typedef struct lisp_gpe_main uword *lisp_stats_index_by_key; vlib_combined_counter_main_t counters; + /** Native fwd data structures */ + fib_route_path_t *native_fwd_rpath[2]; + u32 *native_fwd_lfes[2]; + /** convenience */ vlib_main_t *vlib_main; vnet_main_t *vnet_main; @@ -173,7 +177,7 @@ typedef struct lisp_gpe_main } lisp_gpe_main_t; /** LISP-GPE global state*/ -lisp_gpe_main_t lisp_gpe_main; +extern lisp_gpe_main_t lisp_gpe_main; always_inline lisp_gpe_main_t * vnet_lisp_gpe_get_main () @@ -199,7 +203,8 @@ lisp_gpe_l3_iface_find_or_create (lisp_gpe_main_t * lgm, extern void lisp_gpe_del_l2_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id); extern u32 lisp_gpe_add_l2_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id); extern void lisp_gpe_del_l3_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id); -extern u32 lisp_gpe_add_l3_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id); +extern u32 lisp_gpe_add_l3_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id, + u8 with_default_route); typedef struct @@ -269,6 +274,12 @@ typedef struct }; } vnet_lisp_gpe_add_del_fwd_entry_args_t; +typedef struct +{ + fib_route_path_t rpath; + u8 is_add; +} vnet_gpe_native_fwd_rpath_args_t; + typedef struct { u32 fwd_entry_index; @@ -313,6 +324,9 @@ u8 vnet_lisp_stats_enable_disable_state (void); vnet_api_error_t vnet_lisp_stats_enable_disable (u8 enable); lisp_api_stats_t *vnet_lisp_get_stats (void); int vnet_lisp_flush_stats (void); +int vnet_gpe_add_del_native_fwd_rpath (vnet_gpe_native_fwd_rpath_args_t * a); +u32 vnet_lisp_gpe_add_nsh_iface (lisp_gpe_main_t * lgm); +void vnet_lisp_gpe_del_nsh_iface (lisp_gpe_main_t * lgm); #endif /* included_vnet_lisp_gpe_h */