|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
18 #ifndef included_vnet_gtpu_h
19 #define included_vnet_gtpu_h
67 #define GTPU_V1_HDR_LEN 8
69 #define GTPU_VER_MASK (7<<5)
70 #define GTPU_PT_BIT (1<<4)
71 #define GTPU_E_BIT (1<<2)
72 #define GTPU_S_BIT (1<<1)
73 #define GTPU_PN_BIT (1<<0)
74 #define GTPU_E_S_PN_BIT (7<<0)
76 #define GTPU_V1_VER (1<<5)
78 #define GTPU_PT_GTP (1<<4)
79 #define GTPU_TYPE_GTPU 255
113 }) gtpu4_tunnel_key_t;
125 }) gtpu6_tunnel_key_t;
183 #define foreach_gtpu_input_next \
184 _(DROP, "error-drop") \
185 _(L2_INPUT, "l2-input") \
186 _(IP4_INPUT, "ip4-input") \
187 _(IP6_INPUT, "ip6-input" )
191 #define _(s,n) GTPU_INPUT_NEXT_##s,
199 #define gtpu_error(n,s) GTPU_ERROR_##n,
240 #ifdef CLIB_HAVE_VEC512
241 vtep4_cache_t vtep4_u512;
259 #define GTPU_DEL_TUNNEL 0
260 #define GTPU_ADD_TUNNEL 1
261 #define GTPU_UPD_TTEID 2
vlib_node_registration_t gtpu4_input_node
(constructor) VLIB_REGISTER_NODE (gtpu4_input_node)
fib_node_type_t fib_node_type
Node type for registering to fib changes.
vlib_node_registration_t gtpu6_input_node
(constructor) VLIB_REGISTER_NODE (gtpu6_input_node)
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
#define foreach_gtpu_input_next
adj_index_t mcast_adj_index
enum fib_node_type_t_ fib_node_type_t
The types of nodes in a FIB graph.
fib_node_index_t fib_entry_index
u32 * free_gtpu_tunnel_hw_if_indices
u32 fib_node_index_t
A typedef of a node index.
struct _vlib_node_registration vlib_node_registration_t
u32 sibling_index
The tunnel is a child of the FIB entry for its destination.
uword * gtpu4_tunnel_by_key
vlib_node_registration_t gtpu4_encap_node
(constructor) VLIB_REGISTER_NODE (gtpu4_encap_node)
An node in the FIB graph.
typedef CLIB_PACKED(struct { ip4_header_t ip4;udp_header_t udp;gtpu_header_t gtpu;}) ip4_gtpu_header_t
u32 adj_index_t
An index for adjacencies.
u32 * tunnel_index_by_sw_if_index
u8 * format_gtpu_encap_trace(u8 *s, va_list *args)
int vnet_gtpu_add_mod_del_tunnel(vnet_gtpu_add_mod_del_tunnel_args_t *a, u32 *sw_if_indexp)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
int vnet_gtpu_add_del_rx_flow(u32 hw_if_index, u32 t_imdex, int is_add)
vlib_node_registration_t gtpu6_encap_node
(constructor) VLIB_REGISTER_NODE (gtpu6_encap_node)
u32 vnet_gtpu_get_tunnel_index(u32 sw_if_index)
vl_api_interface_index_t sw_if_index
vlib_node_registration_t gtpu4_flow_input_node
(constructor) VLIB_REGISTER_NODE (gtpu4_flow_input_node)
fib_node_t node
Linkage into the FIB object graph.
vl_api_fib_path_type_t type
void vnet_int_gtpu_bypass_mode(u32 sw_if_index, u8 is_ip6, u8 is_enable)
uword * gtpu6_tunnel_by_key