Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Ezequiel Garcia | e876f20 | 2014-05-19 13:59:52 -0300 | [diff] [blame] | 2 | #ifndef _TSO_H |
| 3 | #define _TSO_H |
| 4 | |
| 5 | #include <net/ip.h> |
| 6 | |
Antoine Ténart | f9cbe9a | 2017-08-23 09:46:54 +0200 | [diff] [blame] | 7 | #define TSO_HEADER_SIZE 128 |
| 8 | |
Ezequiel Garcia | e876f20 | 2014-05-19 13:59:52 -0300 | [diff] [blame] | 9 | struct tso_t { |
| 10 | int next_frag_idx; |
| 11 | void *data; |
| 12 | size_t size; |
| 13 | u16 ip_id; |
emmanuel.grumbach@intel.com | 8941faa | 2015-10-26 10:31:29 +0200 | [diff] [blame] | 14 | bool ipv6; |
Ezequiel Garcia | e876f20 | 2014-05-19 13:59:52 -0300 | [diff] [blame] | 15 | u32 tcp_seq; |
| 16 | }; |
| 17 | |
| 18 | int tso_count_descs(struct sk_buff *skb); |
| 19 | void tso_build_hdr(struct sk_buff *skb, char *hdr, struct tso_t *tso, |
| 20 | int size, bool is_last); |
| 21 | void tso_build_data(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 */ |