xref: /openbmc/linux/include/net/tso.h (revision 504b912150983a8b2499bbf9e4501336677404c9)
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 	bool	ipv6;
15 	u32	tcp_seq;
16 };
17 
18 int tso_count_descs(const struct sk_buff *skb);
19 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso,
20 		   int size, bool is_last);
21 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size);
22 void tso_start(struct sk_buff *skb, struct tso_t *tso);
23 
24 #endif	/* _TSO_H */
25