xref: /kernel/linux/linux-5.10/include/net/tso.h (revision 8c2ecf20)
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
9struct 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
19int tso_count_descs(const struct sk_buff *skb);
20void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso,
21		   int size, bool is_last);
22void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size);
23int tso_start(struct sk_buff *skb, struct tso_t *tso);
24
25#endif	/* _TSO_H */
26