Merge tag 'libnvdimm-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[linux-2.6-microblaze.git] / include / net / tso.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _TSO_H
3 #define _TSO_H
4
5 #include <net/ip.h>
6
7 #define TSO_HEADER_SIZE         256
8
9 struct tso_t {
10         int     next_frag_idx;
11         int     size;
12         void    *data;
13         u16     ip_id;
14         u8      tlen; /* transport header len */
15         bool    ipv6;
16         u32     tcp_seq;
17 };
18
19 int tso_count_descs(const struct sk_buff *skb);
20 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso,
21                    int size, bool is_last);
22 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size);
23 int tso_start(struct sk_buff *skb, struct tso_t *tso);
24
25 #endif  /* _TSO_H */