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