|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
20 #ifndef included_vnet_lisp_gpe_h
21 #define included_vnet_lisp_gpe_h
44 }) ip4_udp_lisp_gpe_header_t;
53 }) ip6_udp_lisp_gpe_header_t;
56 #define foreach_lisp_gpe_ip_input_next \
57 _(DROP, "error-drop") \
58 _(IP4_INPUT, "ip4-input") \
59 _(IP6_INPUT, "ip6-input") \
60 _(L2_INPUT, "l2-input")
65 #define _(s,n) LISP_GPE_INPUT_NEXT_##s,
72 #define LISP_GPE_INPUT_NEXT_NSH_INPUT 4
76 #define lisp_gpe_error(n,s) LISP_GPE_ERROR_##n,
145 BVT (clib_bihash) l2_fib;
155 BVT (clib_bihash) nsh_fib;
208 u8 with_default_route);
294 #define foreach_lgpe_ip4_lookup_next \
295 _(DROP, "error-drop") \
296 _(LISP_CP_LOOKUP, "lisp-cp-lookup")
300 #define _(sym,str) LGPE_IP4_LOOKUP_NEXT_##sym,
306 #define foreach_lgpe_ip6_lookup_next \
307 _(DROP, "error-drop") \
308 _(LISP_CP_LOOKUP, "lisp-cp-lookup")
312 #define _(sym,str) LGPE_IP6_LOOKUP_NEXT_##sym,
gid_address_t lcl_eid
local eid
void lisp_gpe_del_l2_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
Add/del LISP-GPE interface.
uword * vni_by_sw_if_index
gpe_encap_mode_t vnet_gpe_get_encap_mode(void)
u32 vnet_lisp_gpe_add_nsh_iface(lisp_gpe_main_t *lgm)
Add LISP-GPE NSH interface.
lisp_gpe_main_t lisp_gpe_main
LISP-GPE global state.
int vnet_lisp_flush_stats(void)
u32 lisp_gpe_add_l3_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id, u8 with_default_route)
Add/del LISP-GPE L3 interface.
int vnet_gpe_set_encap_mode(gpe_encap_mode_t mode)
Set GPE encapsulation mode.
typedef CLIB_PACKED(struct { ip4_header_t ip4;udp_header_t udp;lisp_gpe_header_t lisp;}) ip4_udp_lisp_gpe_header_t
IP4-UDP-LISP encap header.
u32 bd_id
bridge domain id
struct lisp_gpe_main lisp_gpe_main_t
LISP-GPE global state.
gpe_encap_mode_t encap_mode
enum gpe_encap_mode_e gpe_encap_mode_t
vl_api_tunnel_mode_t mode
u32 encap_fib_index
FIB index to lookup remote locator at encap.
vnet_hw_interface_class_t lisp_gpe_hw_class
struct lisp_gpe_fwd_entry_t_ * lisp_fwd_entry_pool
A Pool of all LISP forwarding entries.
tunnel_lookup_t nsh_ifaces
u8 * placeholder_stats_pool
static lisp_gpe_main_t * vnet_lisp_gpe_get_main()
dpo_id_t l2_lb_cp_lkup
Load-balance for a miss in the table.
lisp_api_stats_t * vnet_lisp_get_stats(void)
tunnel_lookup_t l3_ifaces
vlib_node_registration_t lisp_gpe_ip4_input_node
(constructor) VLIB_REGISTER_NODE (lisp_gpe_ip4_input_node)
void vnet_lisp_gpe_del_nsh_iface(lisp_gpe_main_t *lgm)
Del LISP-GPE NSH interface.
Combined counter to hold both packets and byte differences.
u32 * free_tunnel_hw_if_indices
Free vlib hw_if_indices.
u32 table_id
table (vrf) id
u32 vni
VNI/tenant id in HOST byte order.
u32 fwd_entry_index
forwarding entry index of
fib_route_path_t * native_fwd_rpath[2]
Native fwd data structures.
lisp_gpe_input_next_t
Enum of possible next nodes post LISP-GPE decap.
u32 decap_fib_index
FIB index to lookup inner IP at decap.
uword * lisp_stats_index_by_key
struct _vlib_node_registration vlib_node_registration_t
vlib_node_registration_t lisp_gpe_ip6_input_node
(constructor) VLIB_REGISTER_NODE (lisp_gpe_ip6_input_node)
lisp_api_gpe_fwd_entry_t * vnet_lisp_gpe_fwd_entries_get_by_vni(u32 vni)
u8 is_negative
type of mapping
#define foreach_lgpe_ip4_lookup_next
#define foreach_lgpe_ip6_lookup_next
u8 * format_vnet_lisp_gpe_status(u8 *s, va_list *args)
Format LISP-GPE status.
A collection of combined counters.
LISP-GPE packet header structure.
int vnet_gpe_add_del_native_fwd_rpath(vnet_gpe_native_fwd_rpath_args_t *a)
u32 lisp_gpe_l3_iface_find_or_create(lisp_gpe_main_t *lgm, u32 overlay_table_id, u32 vni)
A representation of a path as described by a route producer.
enum lgpe_ip4_lookup_next lgpe_ip4_lookup_next_t
u32 lisp_gpe_add_l2_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
Add/del LISP-GPE L2 interface.
u8 * format_lisp_gpe_header_with_length(u8 *s, va_list *args)
enum lgpe_ip6_lookup_next lgpe_ip6_lookup_next_t
locator_pair_t * locator_pairs
vector of locator pairs
gid_address_t rmt_eid
remote eid
vlib_main_t * vlib_main
convenience
void lisp_gpe_del_l3_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
u8 vnet_lisp_gpe_enable_disable_status(void)
Read LISP-GPE status.
const dpo_id_t * nsh_cp_lkup
negative_fwd_actions_e action
action for negative mappings
struct _gid_address_t gid_address_t
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
BVT(clib_bihash) l2_fib
L2 LISP FIB.
u8 vnet_lisp_stats_enable_disable_state(void)
uword * sw_if_index_by_vni
lookup decap tunnel termination sw_if_index by vni and vice versa
u32 dp_table
generic access
#define foreach_lisp_gpe_ip_input_next
vlib_combined_counter_main_t counters
struct tunnel_lookup tunnel_lookup_t
vnet_api_error_t vnet_lisp_stats_enable_disable(u8 enable)
uword * lisp_gpe_fwd_entries
DB of all forwarding entries.
clib_error_t * vnet_lisp_gpe_enable_disable(vnet_lisp_gpe_enable_disable_args_t *a)
Enable/disable LISP-GPE.
struct _vnet_hw_interface_class vnet_hw_interface_class_t
tunnel_lookup_t l2_ifaces
uword * hw_if_index_by_dp_table
Lookup lisp-gpe interfaces by dp table (eg.