FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
mobile.h File Reference
+ Include dependency graph for mobile.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gtpu_recovery_ie
 
struct  gtpu_exthdr_t
 
struct  gtpu_header_t
 
    Bits

Octets 8 7 6 5 4 3 2 1 1 Version PT (*) E S PN 2 Message Type 3 Length (1st Octet) 4 Length (2nd Octet) 5 Tunnel Endpoint Identifier (1st Octet) 6 Tunnel Endpoint Identifier (2nd Octet) 7 Tunnel Endpoint Identifier (3rd Octet) 8 Tunnel Endpoint Identifier (4th Octet) 9 Sequence Number (1st Octet)1) 4) 10 Sequence Number (2nd Octet)1) 4) 11 N-PDU Number2) 4) 12 Next Extension Header Type3) 4) More...

 
struct  gtpu_paging_policy_t
 
struct  gtpu_pdu_session_t
 
struct  ip4_gtpu_header_t
 
struct  ip6_gtpu_header_t
 
struct  user_plane_sub_tlv_t
 
struct  srv6_end_gtp6_param_s
 
struct  srv6_end_gtp6_dt_param_s
 
struct  srv6_t_gtp4_dt_param_s
 
struct  srv6_end_gtp4_param_s
 
struct  srv6_end_main_v4_s
 
struct  srv6_t_main_v4_decap_s
 
struct  srv6_end_main_v6_s
 
struct  srv6_end_main_v6_decap_s
 
struct  srv6_end_main_v6_decap_di_s
 
struct  srv6_end_main_v6_dt_s
 
struct  srv6_t_main_v4_dt_s
 

Macros

#define SRV6_GTP_UDP_DST_PORT   2152
 
#define SRV6_NHTYPE_NONE   0
 
#define SRV6_NHTYPE_IPV4   1
 
#define SRV6_NHTYPE_IPV6   2
 
#define SRV6_NHTYPE_NON_IP   3
 
#define IP_PROTOCOL_IP6_ETHERNET   143
 
#define SRV6_GTP6_UNKNOW   0
 
#define SRV6_GTP6_DT4   1
 
#define SRV6_GTP6_DT6   2
 
#define SRV6_GTP6_DT46   3
 
#define SRV6_GTP4_UNKNOW   0
 
#define SRV6_GTP4_DT4   1
 
#define SRV6_GTP4_DT6   2
 
#define SRV6_GTP4_DT46   3
 
#define BITALIGN2(A, B)   B; A
 
#define BITALIGN3(A, B, C)   C; B; A
 
#define GTPU_EXTHDR_FLAG   0x04
 
#define GTPU_SEQ_FLAG   0x02
 
#define GTPU_EXTHDR_PDU_SESSION   0x85
 
#define SRH_TAG_ECHO_REPLY   0x0008
 
#define SRH_TAG_ECHO_REQUEST   0x0004
 
#define SRH_TAG_ERROR_INDICATION   0x0002
 
#define SRH_TAG_END_MARKER   0x0001
 
#define GTPU_RECOVERY_IE_TYPE   0x0e
 
#define GTPU_IE_MAX_SIZ   256
 
#define SRH_TLV_USER_PLANE_CONTAINER   0x0a /* tentative */
 
#define GTPU_TYPE_ECHO_REQUEST   1
 
#define GTPU_TYPE_ECHO_REPLY   2
 
#define GTPU_TYPE_ERROR_INDICATION   26
 
#define GTPU_TYPE_END_MARKER   254
 
#define GTPU_TYPE_GTPU   255
 
#define GTPU_PDU_SESSION_P_BIT_MASK   0x80
 
#define GTPU_PDU_SESSION_R_BIT_MASK   0x40
 
#define GTPU_PDU_SESSION_QFI_MASK   0x3f
 
#define SRV6_PDU_SESSION_U_BIT_MASK   0x01
 
#define SRV6_PDU_SESSION_R_BIT_MASK   0x02
 
#define SRV6_PDU_SESSION_QFI_MASK   0xfC
 
#define GTPU_V1_VER   (1<<5)
 
#define GTPU_PT_GTP   (1<<4)
 
#define USER_PLANE_SUB_TLV_IE   0x01
 

Typedefs

typedef struct srv6_end_gtp6_param_s srv6_end_gtp6_param_t
 
typedef struct srv6_end_gtp6_dt_param_s srv6_end_gtp6_dt_param_t
 
typedef struct srv6_t_gtp4_dt_param_s srv6_t_gtp4_dt_param_t
 
typedef struct srv6_end_gtp4_param_s srv6_end_gtp4_param_t
 
typedef struct srv6_end_main_v4_s srv6_end_main_v4_t
 
typedef struct srv6_t_main_v4_decap_s srv6_t_main_v4_decap_t
 
typedef struct srv6_end_main_v6_s srv6_end_main_v6_t
 
typedef struct srv6_end_main_v6_decap_s srv6_end_main_v6_decap_t
 
typedef struct srv6_end_main_v6_decap_di_s srv6_end_main_v6_decap_di_t
 
typedef struct srv6_end_main_v6_dt_s srv6_end_main_v6_dt_t
 
typedef struct srv6_t_main_v4_dt_s srv6_t_main_v4_dt_t
 

Variables

srv6_end_main_v4_t srv6_end_main_v4
 
srv6_t_main_v4_decap_t srv6_t_main_v4_decap
 
vlib_node_registration_t srv6_end_m_gtp4_e
 (constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp4_e) More...
 
srv6_end_main_v6_t srv6_end_main_v6
 
vlib_node_registration_t srv6_end_m_gtp6_e
 (constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_e) More...
 
srv6_end_main_v6_decap_t srv6_end_main_v6_decap
 
vlib_node_registration_t srv6_end_m_gtp6_d
 (constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d) More...
 
srv6_end_main_v6_decap_di_t srv6_end_main_v6_decap_di
 
vlib_node_registration_t srv6_end_m_gtp6_d_di
 (constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d_di) More...
 
srv6_end_main_v6_dt_t srv6_end_main_v6_dt
 
vlib_node_registration_t srv6_end_m_gtp6_dt
 (constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_dt) More...
 
srv6_t_main_v4_dt_t srv6_t_main_v4_dt
 
vlib_node_registration_t srv6_t_m_gtp4_dt
 (constructor) VLIB_REGISTER_NODE (srv6_t_m_gtp4_dt) More...
 

Macro Definition Documentation

◆ BITALIGN2

#define BITALIGN2 (   A,
 
)    B; A

Definition at line 54 of file mobile.h.

◆ BITALIGN3

#define BITALIGN3 (   A,
  B,
 
)    C; B; A

Definition at line 55 of file mobile.h.

◆ GTPU_EXTHDR_FLAG

#define GTPU_EXTHDR_FLAG   0x04

Definition at line 58 of file mobile.h.

◆ GTPU_EXTHDR_PDU_SESSION

#define GTPU_EXTHDR_PDU_SESSION   0x85

Definition at line 60 of file mobile.h.

◆ GTPU_IE_MAX_SIZ

#define GTPU_IE_MAX_SIZ   256

Definition at line 69 of file mobile.h.

◆ GTPU_PDU_SESSION_P_BIT_MASK

#define GTPU_PDU_SESSION_P_BIT_MASK   0x80

Definition at line 136 of file mobile.h.

◆ GTPU_PDU_SESSION_QFI_MASK

#define GTPU_PDU_SESSION_QFI_MASK   0x3f

Definition at line 138 of file mobile.h.

◆ GTPU_PDU_SESSION_R_BIT_MASK

#define GTPU_PDU_SESSION_R_BIT_MASK   0x40

Definition at line 137 of file mobile.h.

◆ GTPU_PT_GTP

#define GTPU_PT_GTP   (1<<4)

Definition at line 164 of file mobile.h.

◆ GTPU_RECOVERY_IE_TYPE

#define GTPU_RECOVERY_IE_TYPE   0x0e

Definition at line 67 of file mobile.h.

◆ GTPU_SEQ_FLAG

#define GTPU_SEQ_FLAG   0x02

Definition at line 59 of file mobile.h.

◆ GTPU_TYPE_ECHO_REPLY

#define GTPU_TYPE_ECHO_REPLY   2

Definition at line 101 of file mobile.h.

◆ GTPU_TYPE_ECHO_REQUEST

#define GTPU_TYPE_ECHO_REQUEST   1

Definition at line 100 of file mobile.h.

◆ GTPU_TYPE_END_MARKER

#define GTPU_TYPE_END_MARKER   254

Definition at line 103 of file mobile.h.

◆ GTPU_TYPE_ERROR_INDICATION

#define GTPU_TYPE_ERROR_INDICATION   26

Definition at line 102 of file mobile.h.

◆ GTPU_TYPE_GTPU

#define GTPU_TYPE_GTPU   255

Definition at line 104 of file mobile.h.

◆ GTPU_V1_VER

#define GTPU_V1_VER   (1<<5)

Definition at line 162 of file mobile.h.

◆ IP_PROTOCOL_IP6_ETHERNET

#define IP_PROTOCOL_IP6_ETHERNET   143

Definition at line 37 of file mobile.h.

◆ SRH_TAG_ECHO_REPLY

#define SRH_TAG_ECHO_REPLY   0x0008

Definition at line 62 of file mobile.h.

◆ SRH_TAG_ECHO_REQUEST

#define SRH_TAG_ECHO_REQUEST   0x0004

Definition at line 63 of file mobile.h.

◆ SRH_TAG_END_MARKER

#define SRH_TAG_END_MARKER   0x0001

Definition at line 65 of file mobile.h.

◆ SRH_TAG_ERROR_INDICATION

#define SRH_TAG_ERROR_INDICATION   0x0002

Definition at line 64 of file mobile.h.

◆ SRH_TLV_USER_PLANE_CONTAINER

#define SRH_TLV_USER_PLANE_CONTAINER   0x0a /* tentative */

Definition at line 70 of file mobile.h.

◆ SRV6_GTP4_DT4

#define SRV6_GTP4_DT4   1

Definition at line 46 of file mobile.h.

◆ SRV6_GTP4_DT46

#define SRV6_GTP4_DT46   3

Definition at line 48 of file mobile.h.

◆ SRV6_GTP4_DT6

#define SRV6_GTP4_DT6   2

Definition at line 47 of file mobile.h.

◆ SRV6_GTP4_UNKNOW

#define SRV6_GTP4_UNKNOW   0

Definition at line 45 of file mobile.h.

◆ SRV6_GTP6_DT4

#define SRV6_GTP6_DT4   1

Definition at line 41 of file mobile.h.

◆ SRV6_GTP6_DT46

#define SRV6_GTP6_DT46   3

Definition at line 43 of file mobile.h.

◆ SRV6_GTP6_DT6

#define SRV6_GTP6_DT6   2

Definition at line 42 of file mobile.h.

◆ SRV6_GTP6_UNKNOW

#define SRV6_GTP6_UNKNOW   0

Definition at line 40 of file mobile.h.

◆ SRV6_GTP_UDP_DST_PORT

#define SRV6_GTP_UDP_DST_PORT   2152

Definition at line 29 of file mobile.h.

◆ SRV6_NHTYPE_IPV4

#define SRV6_NHTYPE_IPV4   1

Definition at line 32 of file mobile.h.

◆ SRV6_NHTYPE_IPV6

#define SRV6_NHTYPE_IPV6   2

Definition at line 33 of file mobile.h.

◆ SRV6_NHTYPE_NON_IP

#define SRV6_NHTYPE_NON_IP   3

Definition at line 34 of file mobile.h.

◆ SRV6_NHTYPE_NONE

#define SRV6_NHTYPE_NONE   0

Definition at line 31 of file mobile.h.

◆ SRV6_PDU_SESSION_QFI_MASK

#define SRV6_PDU_SESSION_QFI_MASK   0xfC

Definition at line 142 of file mobile.h.

◆ SRV6_PDU_SESSION_R_BIT_MASK

#define SRV6_PDU_SESSION_R_BIT_MASK   0x02

Definition at line 141 of file mobile.h.

◆ SRV6_PDU_SESSION_U_BIT_MASK

#define SRV6_PDU_SESSION_U_BIT_MASK   0x01

Definition at line 140 of file mobile.h.

◆ USER_PLANE_SUB_TLV_IE

#define USER_PLANE_SUB_TLV_IE   0x01

Definition at line 175 of file mobile.h.

Typedef Documentation

◆ srv6_end_gtp4_param_t

◆ srv6_end_gtp6_dt_param_t

◆ srv6_end_gtp6_param_t

◆ srv6_end_main_v4_t

◆ srv6_end_main_v6_decap_di_t

◆ srv6_end_main_v6_decap_t

◆ srv6_end_main_v6_dt_t

◆ srv6_end_main_v6_t

◆ srv6_t_gtp4_dt_param_t

◆ srv6_t_main_v4_decap_t

◆ srv6_t_main_v4_dt_t

Variable Documentation

◆ srv6_end_m_gtp4_e

vlib_node_registration_t srv6_end_m_gtp4_e

(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp4_e)

Definition at line 1213 of file node.c.

◆ srv6_end_m_gtp6_d

vlib_node_registration_t srv6_end_m_gtp6_d

(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d)

Definition at line 2978 of file node.c.

◆ srv6_end_m_gtp6_d_di

vlib_node_registration_t srv6_end_m_gtp6_d_di

(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_d_di)

Definition at line 2990 of file node.c.

◆ srv6_end_m_gtp6_dt

vlib_node_registration_t srv6_end_m_gtp6_dt

(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_dt)

Definition at line 3002 of file node.c.

◆ srv6_end_m_gtp6_e

vlib_node_registration_t srv6_end_m_gtp6_e

(constructor) VLIB_REGISTER_NODE (srv6_end_m_gtp6_e)

Definition at line 2966 of file node.c.

◆ srv6_end_main_v4

srv6_end_main_v4_t srv6_end_main_v4

Definition at line 24 of file gtp4_e.c.

◆ srv6_end_main_v6

srv6_end_main_v6_t srv6_end_main_v6

Definition at line 24 of file gtp6_e.c.

◆ srv6_end_main_v6_decap

srv6_end_main_v6_decap_t srv6_end_main_v6_decap

Definition at line 24 of file gtp6_d.c.

◆ srv6_end_main_v6_decap_di

srv6_end_main_v6_decap_di_t srv6_end_main_v6_decap_di

Definition at line 24 of file gtp6_d_di.c.

◆ srv6_end_main_v6_dt

srv6_end_main_v6_dt_t srv6_end_main_v6_dt

Definition at line 25 of file gtp6_dt.c.

◆ srv6_t_m_gtp4_dt

vlib_node_registration_t srv6_t_m_gtp4_dt

(constructor) VLIB_REGISTER_NODE (srv6_t_m_gtp4_dt)

Definition at line 3016 of file node.c.

◆ srv6_t_main_v4_decap

srv6_t_main_v4_decap_t srv6_t_main_v4_decap

Definition at line 24 of file gtp4_d.c.

◆ srv6_t_main_v4_dt

srv6_t_main_v4_dt_t srv6_t_main_v4_dt

Definition at line 25 of file gtp4_dt.c.