DPDK  18.05.1
rte_gso.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2017 Intel Corporation
3  */
4 
5 #ifndef _RTE_GSO_H_
6 #define _RTE_GSO_H_
7 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #include <stdint.h>
18 #include <rte_mbuf.h>
19 
20 /* Minimum GSO segment size. */
21 #define RTE_GSO_SEG_SIZE_MIN (sizeof(struct ether_hdr) + \
22  sizeof(struct ipv4_hdr) + sizeof(struct tcp_hdr) + 1)
23 
24 /* GSO flags for rte_gso_ctx. */
25 #define RTE_GSO_FLAG_IPID_FIXED (1ULL << 0)
26 
33 struct rte_gso_ctx {
44  uint64_t flag;
48  uint32_t gso_types;
57  uint16_t gso_size;
62 };
63 
111 int rte_gso_segment(struct rte_mbuf *pkt,
112  const struct rte_gso_ctx *ctx,
113  struct rte_mbuf **pkts_out,
114  uint16_t nb_pkts_out);
115 #ifdef __cplusplus
116 }
117 #endif
118 
119 #endif /* _RTE_GSO_H_ */