]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/lib/librte_net/rte_tcp.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / lib / librte_net / rte_tcp.h
CommitLineData
11fdf7f2
TL
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 1982, 1986, 1990, 1993
3 * The Regents of the University of California.
4 * Copyright(c) 2010-2014 Intel Corporation.
5 * All rights reserved.
6 */
7
8#ifndef _RTE_TCP_H_
9#define _RTE_TCP_H_
10
11/**
12 * @file
13 *
14 * TCP-related defines
15 */
16
17#include <stdint.h>
18
f67539c2
TL
19#include <rte_byteorder.h>
20
11fdf7f2
TL
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/**
26 * TCP Header
27 */
f67539c2
TL
28struct rte_tcp_hdr {
29 rte_be16_t src_port; /**< TCP source port. */
30 rte_be16_t dst_port; /**< TCP destination port. */
31 rte_be32_t sent_seq; /**< TX data sequence number. */
32 rte_be32_t recv_ack; /**< RX data acknowledgment sequence number. */
33 uint8_t data_off; /**< Data offset. */
34 uint8_t tcp_flags; /**< TCP flags */
35 rte_be16_t rx_win; /**< RX flow control window. */
36 rte_be16_t cksum; /**< TCP checksum. */
37 rte_be16_t tcp_urp; /**< TCP urgent pointer, if any. */
38} __rte_packed;
39
40/**
41 * TCP Flags
42 */
43#define RTE_TCP_CWR_FLAG 0x80 /**< Congestion Window Reduced */
44#define RTE_TCP_ECE_FLAG 0x40 /**< ECN-Echo */
45#define RTE_TCP_URG_FLAG 0x20 /**< Urgent Pointer field significant */
46#define RTE_TCP_ACK_FLAG 0x10 /**< Acknowledgment field significant */
47#define RTE_TCP_PSH_FLAG 0x08 /**< Push Function */
48#define RTE_TCP_RST_FLAG 0x04 /**< Reset the connection */
49#define RTE_TCP_SYN_FLAG 0x02 /**< Synchronize sequence numbers */
50#define RTE_TCP_FIN_FLAG 0x01 /**< No more data from sender */
11fdf7f2
TL
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif /* RTE_TCP_H_ */