summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.transmeta.com>2002-08-28 21:16:39 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-08-28 21:16:39 -0700
commit8f518465d73fae2b4f750300166dfcc903908374 (patch)
treef34895410830ce303c53da4c784c11660a699abc /include/linux
parentcea2e2d2cf903fe456b9615a463de4ce0abfbdab (diff)
parentd5ae22d907f1ca6e2e4afb3b7f9f2c8b6943f8a6 (diff)
Merge master.kernel.org:/home/davem/BK/tso-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--include/linux/skbuff.h5
-rw-r--r--include/linux/tcp.h3
3 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9d3bbc92e21e..6ed74303fbda 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -365,6 +365,7 @@ struct net_device
#define NETIF_F_HW_VLAN_RX 256 /* Receive VLAN hw acceleration */
#define NETIF_F_HW_VLAN_FILTER 512 /* Receive filtering on VLAN */
#define NETIF_F_VLAN_CHALLENGED 1024 /* Device cannot handle VLAN packets */
+#define NETIF_F_TSO 2048 /* Can offload TCP/IP segmentation */
/* Called after device is detached from network. */
void (*uninit)(struct net_device *dev);
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index a81268125163..9b6e6ad08e2a 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -109,7 +109,8 @@ struct sk_buff_head {
struct sk_buff;
-#define MAX_SKB_FRAGS 6
+/* To allow 64K frame to be packed as single skb without frag_list */
+#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
typedef struct skb_frag_struct skb_frag_t;
@@ -125,6 +126,8 @@ struct skb_frag_struct {
struct skb_shared_info {
atomic_t dataref;
unsigned int nr_frags;
+ unsigned short tso_size;
+ unsigned short tso_segs;
struct sk_buff *frag_list;
skb_frag_t frags[MAX_SKB_FRAGS];
};
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 24cc0ac95504..ce34341d6a2c 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -241,7 +241,8 @@ struct tcp_opt {
__u32 snd_wnd; /* The window we expect to receive */
__u32 max_window; /* Maximal window ever seen from peer */
__u32 pmtu_cookie; /* Last pmtu seen by socket */
- __u16 mss_cache; /* Cached effective mss, not including SACKS */
+ __u32 mss_cache; /* Cached effective mss, not including SACKS */
+ __u16 mss_cache_std; /* Like mss_cache, but without TSO */
__u16 mss_clamp; /* Maximal mss, negotiated at connection setup */
__u16 ext_header_len; /* Network protocol overhead (IP/IPv6 options) */
__u8 ca_state; /* State of fast-retransmit machine */