diff options
author | Ananda Raju <Ananda.Raju@neterion.com> | 2006-07-25 01:55:09 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-08-03 23:27:26 +0200 |
commit | 75c30b1368faaa9c740536b91a15a33aab62f30b (patch) | |
tree | 317e1caa6c2e8de334d3a45c96916580a4538209 /drivers/net/s2io.h | |
parent | [PATCH] s2io driver bug fixes #1 (diff) | |
download | linux-75c30b1368faaa9c740536b91a15a33aab62f30b.tar.xz linux-75c30b1368faaa9c740536b91a15a33aab62f30b.zip |
[PATCH] s2io driver bug fixes #2
This patch contains some of the bug fixes and enhancements done to
s2io driver. Following are the brief description of changes
1. code cleanup to handle gso modification better
2. Move repeated code in rx path, to a common function
s2io_chk_rx_buffers()
3. Bug fix in MSI interrupt
4. clear statistics when card is down
5. Avoid linked list traversing in lro aggregation.
6. Use pci_dma_sync_single_for_cpu for buffer0 in case of 2/3
buffer mode.
7. ethtool tso get/set functions to set clear NETIF_F_TSO6
8. Stop LRO aggregation when we receive ECN notification
Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r-- | drivers/net/s2io.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h index 1654f71a9af8..5ed49c3be1e9 100644 --- a/drivers/net/s2io.h +++ b/drivers/net/s2io.h @@ -719,6 +719,7 @@ struct msix_info_st { /* Data structure to represent a LRO session */ typedef struct lro { struct sk_buff *parent; + struct sk_buff *last_frag; u8 *l2h; struct iphdr *iph; struct tcphdr *tcph; @@ -1012,6 +1013,10 @@ static void queue_rx_frame(struct sk_buff *skb); static void update_L3L4_header(nic_t *sp, lro_t *lro); static void lro_append_pkt(nic_t *sp, lro_t *lro, struct sk_buff *skb, u32 tcp_len); +#define s2io_tcp_mss(skb) skb_shinfo(skb)->gso_size +#define s2io_udp_mss(skb) skb_shinfo(skb)->gso_size +#define s2io_offload_type(skb) skb_shinfo(skb)->gso_type + #define S2IO_PARM_INT(X, def_val) \ static unsigned int X = def_val;\ module_param(X , uint, 0); |