X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_net%2Frte_tcp.h;h=506ac4e8ce90e82a7ccdc954688497a68619118e;hb=0cd4ea043f3eb77a15e7a0a4c10977d203297149;hp=91f58987b012ec4a09fc8511f3a8bc27180a130a;hpb=fa620b86e3fae5e0539d68beaa588cedf51b9d9e;p=dpdk.git diff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h index 91f58987b0..506ac4e8ce 100644 --- a/lib/librte_net/rte_tcp.h +++ b/lib/librte_net/rte_tcp.h @@ -16,6 +16,8 @@ #include +#include + #ifdef __cplusplus extern "C" { #endif @@ -23,17 +25,29 @@ extern "C" { /** * TCP Header */ -struct tcp_hdr { - uint16_t src_port; /**< TCP source port. */ - uint16_t dst_port; /**< TCP destination port. */ - uint32_t sent_seq; /**< TX data sequence number. */ - uint32_t recv_ack; /**< RX data acknowledgement sequence number. */ - uint8_t data_off; /**< Data offset. */ - uint8_t tcp_flags; /**< TCP flags */ - uint16_t rx_win; /**< RX flow control window. */ - uint16_t cksum; /**< TCP checksum. */ - uint16_t tcp_urp; /**< TCP urgent pointer, if any. */ -} __attribute__((__packed__)); +struct rte_tcp_hdr { + rte_be16_t src_port; /**< TCP source port. */ + rte_be16_t dst_port; /**< TCP destination port. */ + rte_be32_t sent_seq; /**< TX data sequence number. */ + rte_be32_t recv_ack; /**< RX data acknowledgment sequence number. */ + uint8_t data_off; /**< Data offset. */ + uint8_t tcp_flags; /**< TCP flags */ + rte_be16_t rx_win; /**< RX flow control window. */ + rte_be16_t cksum; /**< TCP checksum. */ + rte_be16_t tcp_urp; /**< TCP urgent pointer, if any. */ +} __rte_packed; + +/** + * TCP Flags + */ +#define RTE_TCP_CWR_FLAG 0x80 /**< Congestion Window Reduced */ +#define RTE_TCP_ECE_FLAG 0x40 /**< ECN-Echo */ +#define RTE_TCP_URG_FLAG 0x20 /**< Urgent Pointer field significant */ +#define RTE_TCP_ACK_FLAG 0x10 /**< Acknowledgment field significant */ +#define RTE_TCP_PSH_FLAG 0x08 /**< Push Function */ +#define RTE_TCP_RST_FLAG 0x04 /**< Reset the connection */ +#define RTE_TCP_SYN_FLAG 0x02 /**< Synchronize sequence numbers */ +#define RTE_TCP_FIN_FLAG 0x01 /**< No more data from sender */ #ifdef __cplusplus }