xref: /linux-6.15/include/uapi/linux/gtp.h (revision e8e507a8)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_LINUX_GTP_H_
3 #define _UAPI_LINUX_GTP_H_
4 
5 #include <linux/types.h>
6 
7 #define GTP_GENL_MCGRP_NAME	"gtp"
8 
9 enum gtp_genl_cmds {
10 	GTP_CMD_NEWPDP,
11 	GTP_CMD_DELPDP,
12 	GTP_CMD_GETPDP,
13 
14 	GTP_CMD_MAX,
15 };
16 
17 enum gtp_version {
18 	GTP_V0 = 0,
19 	GTP_V1,
20 };
21 
22 enum gtp_attrs {
23 	GTPA_UNSPEC = 0,
24 	GTPA_LINK,
25 	GTPA_VERSION,
26 	GTPA_TID,	/* for GTPv0 only */
27 	GTPA_PEER_ADDRESS,	/* Remote GSN peer, either SGSN or GGSN */
28 #define GTPA_SGSN_ADDRESS GTPA_PEER_ADDRESS /* maintain legacy attr name */
29 	GTPA_MS_ADDRESS,
30 	GTPA_FLOW,
31 	GTPA_NET_NS_FD,
32 	GTPA_I_TEI,	/* for GTPv1 only */
33 	GTPA_O_TEI,	/* for GTPv1 only */
34 	GTPA_PAD,
35 	__GTPA_MAX,
36 };
37 #define GTPA_MAX (__GTPA_MAX + 1)
38 
39 enum {
40 	GTP_METADATA_V1
41 };
42 
43 struct gtpu_metadata {
44 	__u8    ver;
45 	__u8    flags;
46 	__u8    type;
47 };
48 
49 #endif /* _UAPI_LINUX_GTP_H_ */
50