0001
0002 #ifndef _TSO_H
0003 #define _TSO_H
0004
0005 #include <net/ip.h>
0006
0007 #define TSO_HEADER_SIZE 256
0008
0009 struct tso_t {
0010 int next_frag_idx;
0011 int size;
0012 void *data;
0013 u16 ip_id;
0014 u8 tlen;
0015 bool ipv6;
0016 u32 tcp_seq;
0017 };
0018
0019 int tso_count_descs(const struct sk_buff *skb);
0020 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso,
0021 int size, bool is_last);
0022 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size);
0023 int tso_start(struct sk_buff *skb, struct tso_t *tso);
0024
0025 #endif