|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
18 #ifndef __included_srv6_end_h__
19 #define __included_srv6_end_h__
29 #define SRV6_GTP_UDP_DST_PORT 2152
31 #define SRV6_NHTYPE_NONE 0
32 #define SRV6_NHTYPE_IPV4 1
33 #define SRV6_NHTYPE_IPV6 2
34 #define SRV6_NHTYPE_NON_IP 3
36 #ifndef IP_PROTOCOL_IP6_ETHERNET
37 #define IP_PROTOCOL_IP6_ETHERNET 143
40 #define SRV6_GTP6_UNKNOW 0
41 #define SRV6_GTP6_DT4 1
42 #define SRV6_GTP6_DT6 2
43 #define SRV6_GTP6_DT46 3
45 #define SRV6_GTP4_UNKNOW 0
46 #define SRV6_GTP4_DT4 1
47 #define SRV6_GTP4_DT6 2
48 #define SRV6_GTP4_DT46 3
50 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
51 #define BITALIGN2(A,B) A; B
52 #define BITALIGN3(A,B,C) A; B; C
54 #define BITALIGN2(A,B) B; A
55 #define BITALIGN3(A,B,C) C; B; A
58 #define GTPU_EXTHDR_FLAG 0x04
59 #define GTPU_SEQ_FLAG 0x02
60 #define GTPU_EXTHDR_PDU_SESSION 0x85
62 #define SRH_TAG_ECHO_REPLY 0x0008
63 #define SRH_TAG_ECHO_REQUEST 0x0004
64 #define SRH_TAG_ERROR_INDICATION 0x0002
65 #define SRH_TAG_END_MARKER 0x0001
67 #define GTPU_RECOVERY_IE_TYPE 0x0e
69 #define GTPU_IE_MAX_SIZ 256
70 #define SRH_TLV_USER_PLANE_CONTAINER 0x0a
100 #define GTPU_TYPE_ECHO_REQUEST 1
101 #define GTPU_TYPE_ECHO_REPLY 2
102 #define GTPU_TYPE_ERROR_INDICATION 26
103 #define GTPU_TYPE_END_MARKER 254
104 #define GTPU_TYPE_GTPU 255
136 #define GTPU_PDU_SESSION_P_BIT_MASK 0x80
137 #define GTPU_PDU_SESSION_R_BIT_MASK 0x40
138 #define GTPU_PDU_SESSION_QFI_MASK 0x3f
140 #define SRV6_PDU_SESSION_U_BIT_MASK 0x01
141 #define SRV6_PDU_SESSION_R_BIT_MASK 0x02
142 #define SRV6_PDU_SESSION_QFI_MASK 0xfC
162 #define GTPU_V1_VER (1<<5)
164 #define GTPU_PT_GTP (1<<4)
175 #define USER_PLANE_SUB_TLV_IE 0x01
srv6_end_main_v6_dt_t srv6_end_main_v6_dt
struct srv6_end_main_v6_dt_s srv6_end_main_v6_dt_t
u32 end_m_gtp6_dt_node_index
struct srv6_end_gtp6_dt_param_s srv6_end_gtp6_dt_param_t
u32 end_m_gtp6_d_di_node_index
struct srv6_t_main_v4_decap_s srv6_t_main_v4_decap_t
vlib_node_registration_t srv6_end_m_gtp6_e
(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_e)
u32 t_m_gtp4_d_node_index
struct srv6_t_gtp4_dt_param_s srv6_t_gtp4_dt_param_t
struct srv6_end_main_v6_decap_s srv6_end_main_v6_decap_t
struct srv6_t_main_v4_dt_s srv6_t_main_v4_dt_t
vnet_hw_if_output_node_runtime_t * r
ip6_address_t v6src_prefix
srv6_end_main_v4_t srv6_end_main_v4
srv6_end_main_v6_decap_di_t srv6_end_main_v6_decap_di
srv6_end_main_v6_t srv6_end_main_v6
#define BITALIGN3(A, B, C)
Segment Routing data structures definitions.
vlib_node_registration_t srv6_end_m_gtp6_d_di
(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d_di)
vlib_node_registration_t srv6_t_m_gtp4_dt
(constructor) VLIB_REGISTER_NODE (srv6_t_m_gtp4_dt)
vlib_node_registration_t srv6_end_m_gtp4_e
(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp4_e)
ip4_gtpu_header_t cache_hdr
ip6_gtpu_header_t cache_hdr
ip6srv_combo_header_t cache_hdr
struct srv6_end_main_v6_s srv6_end_main_v6_t
struct _vlib_node_registration vlib_node_registration_t
u32 end_m_gtp4_e_node_index
struct srv6_end_gtp6_param_s srv6_end_gtp6_param_t
u32 t_m_gtp4_dt_node_index
struct srv6_end_main_v4_s srv6_end_main_v4_t
vlib_node_registration_t srv6_end_m_gtp6_dt
(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_dt)
u32 end_m_gtp6_e_node_index
vlib_node_registration_t srv6_end_m_gtp6_d
(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d)
srv6_t_main_v4_decap_t srv6_t_main_v4_decap
srv6_t_main_v4_dt_t srv6_t_main_v4_dt
struct srv6_end_main_v6_decap_di_s srv6_end_main_v6_decap_di_t
srv6_end_main_v6_decap_t srv6_end_main_v6_decap
u32 end_m_gtp6_d_node_index
struct srv6_end_gtp4_param_s srv6_end_gtp4_param_t
vl_api_fib_path_type_t type