summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/lib/librte_net/rte_gtp.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/spdk/dpdk/lib/librte_net/rte_gtp.h
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/spdk/dpdk/lib/librte_net/rte_gtp.h')
-rw-r--r--src/spdk/dpdk/lib/librte_net/rte_gtp.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/spdk/dpdk/lib/librte_net/rte_gtp.h b/src/spdk/dpdk/lib/librte_net/rte_gtp.h
new file mode 100644
index 000000000..104384cc5
--- /dev/null
+++ b/src/spdk/dpdk/lib/librte_net/rte_gtp.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 1982, 1986, 1990, 1993
+ * The Regents of the University of California.
+ * Copyright(c) 2010-2014 Intel Corporation.
+ * All rights reserved.
+ */
+
+#ifndef _RTE_GTP_H_
+#define _RTE_GTP_H_
+
+/**
+ * @file
+ *
+ * GTP-related defines
+ */
+
+#include <stdint.h>
+#include <rte_byteorder.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Simplified GTP protocol header.
+ * Contains 8-bit header info, 8-bit message type,
+ * 16-bit payload length after mandatory header, 32-bit TEID.
+ * No optional fields and next extension header.
+ */
+struct rte_gtp_hdr {
+ uint8_t gtp_hdr_info; /**< GTP header info */
+ uint8_t msg_type; /**< GTP message type */
+ uint16_t plen; /**< Total payload length */
+ uint32_t teid; /**< Tunnel endpoint ID */
+} __rte_packed;
+
+/** GTP header length */
+#define RTE_ETHER_GTP_HLEN \
+ (sizeof(struct rte_udp_hdr) + sizeof(struct rte_gtp_hdr))
+/* GTP next protocal type */
+#define RTE_GTP_TYPE_IPV4 0x40 /**< GTP next protocal type IPv4 */
+#define RTE_GTP_TYPE_IPV6 0x60 /**< GTP next protocal type IPv6 */
+/* GTP destination port number */
+#define RTE_GTPC_UDP_PORT 2123 /**< GTP-C UDP destination port */
+#define RTE_GTPU_UDP_PORT 2152 /**< GTP-U UDP destination port */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RTE_GTP_H_ */