uword *vni_by_sw_if_index;
} tunnel_lookup_t;
+typedef struct
+{
+ u32 fwd_entry_index;
+ u32 tunnel_index;
+} lisp_stats_key_t;
+
+typedef struct
+{
+ u32 vni;
+ dp_address_t deid;
+ dp_address_t seid;
+ ip_address_t loc_rloc;
+ ip_address_t rmt_rloc;
+
+ vlib_counter_t counters;
+} lisp_api_stats_t;
typedef enum gpe_encap_mode_e
{
gpe_encap_mode_t encap_mode;
+ u8 *dummy_stats_pool;
+ 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;
} 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 ()
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
/** */
typedef struct
{
+ /** forwarding entry index of */
+ u32 fwd_entry_index;
+
+ u8 is_src_dst;
+
u8 is_add;
/** type of mapping */
u32 table_id;
/** bridge domain id */
- u16 bd_id;
+ u32 bd_id;
/** generic access */
u32 dp_table;
};
} 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;
u32 dp_table;
u32 vni;
+ u8 action;
dp_address_t leid;
dp_address_t reid;
} lisp_api_gpe_fwd_entry_t;
gpe_encap_mode_t vnet_gpe_get_encap_mode (void);
int vnet_gpe_set_encap_mode (gpe_encap_mode_t mode);
+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 */
/*