X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_net%2Frte_tcp.h;h=506ac4e8ce90e82a7ccdc954688497a68619118e;hb=ef5baf3486e03004b6d807f731f0d9936504511d;hp=4bcda55656be0f6dbcb946979f2274894c531f2a;hpb=f41b5156feb575b9cfeb177974c8e625e09b480f;p=dpdk.git diff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h index 4bcda55656..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 @@ -24,16 +26,28 @@ extern "C" { * TCP Header */ struct rte_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__)); + 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 }