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, 254 #define GTPU_DEL_TUNNEL 0 255 #define GTPU_ADD_TUNNEL 1 256 #define GTPU_UPD_TTEID 2
vlib_node_registration_t gtpu4_encap_node
(constructor) VLIB_REGISTER_NODE (gtpu4_encap_node)
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
u32 * tunnel_index_by_sw_if_index
fib_node_type_t fib_node_type
Node type for registering to fib changes.
void vnet_int_gtpu_bypass_mode(u32 sw_if_index, u8 is_ip6, u8 is_enable)
vlib_node_registration_t gtpu4_flow_input_node
(constructor) VLIB_REGISTER_NODE (gtpu4_flow_input_node)
int vnet_gtpu_add_mod_del_tunnel(vnet_gtpu_add_mod_del_tunnel_args_t *a, u32 *sw_if_indexp)
vl_api_fib_path_type_t type
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
adj_index_t mcast_adj_index
An node in the FIB graph.
u32 fib_node_index_t
A typedef of a node index.
u32 adj_index_t
An index for adjacencies.
u32 sibling_index
The tunnel is a child of the FIB entry for its destination.
#define foreach_gtpu_input_next
u32 * free_gtpu_tunnel_hw_if_indices
fib_node_index_t fib_entry_index
u8 * format_gtpu_encap_trace(u8 *s, va_list *args)
fib_node_t node
Linkage into the FIB object graph.
uword * gtpu4_tunnel_by_key
vlib_node_registration_t gtpu6_input_node
(constructor) VLIB_REGISTER_NODE (gtpu6_input_node)
struct _vlib_node_registration vlib_node_registration_t
uword * gtpu6_tunnel_by_key
vlib_node_registration_t gtpu6_encap_node
(constructor) VLIB_REGISTER_NODE (gtpu6_encap_node)
enum fib_node_type_t_ fib_node_type_t
The types of nodes in a FIB graph.
int vnet_gtpu_add_del_rx_flow(u32 hw_if_index, u32 t_imdex, int is_add)
typedef CLIB_PACKED(struct { ip4_header_t ip4;udp_header_t udp;gtpu_header_t gtpu;}) ip4_gtpu_header_t
vlib_node_registration_t gtpu4_input_node
(constructor) VLIB_REGISTER_NODE (gtpu4_input_node)
vl_api_interface_index_t sw_if_index
u32 vnet_gtpu_get_tunnel_index(u32 sw_if_index)