aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/s2io.h
diff options
context:
space:
mode:
authorSreenivasa Honnur <Sreenivasa.Honnur@neterion.com>2008-02-20 17:09:15 -0500
committerJeff Garzik <jeff@garzik.org>2008-03-17 07:49:26 -0400
commitcdb5bf02f4fc0507518ea6b93c21b2707336ffef (patch)
treef750a05ea98b9f4ef3263b69b956fb26b80a15db /drivers/net/s2io.h
parent6cfc482b4b1c512d81712eba41fa324b24e5e7b2 (diff)
S2io: Support for vlan_rx_kill_vid entry point
- Resubmit #3 - Added s2io_vlan_rx_kill_vid entry point function for unregistering vlan. - Fix to aggregate vlan packets. IP offset is incremented by 4 bytes if the packet contains vlan header. Signed-off-by: Surjit Reang <surjit.reang@neterion.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r--drivers/net/s2io.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index 5e351c0879fa..e68fdf7e4260 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -546,6 +546,7 @@ struct RxD_t {
546#define RXD_OWN_XENA s2BIT(7) 546#define RXD_OWN_XENA s2BIT(7)
547#define RXD_T_CODE (s2BIT(12)|s2BIT(13)|s2BIT(14)|s2BIT(15)) 547#define RXD_T_CODE (s2BIT(12)|s2BIT(13)|s2BIT(14)|s2BIT(15))
548#define RXD_FRAME_PROTO vBIT(0xFFFF,24,8) 548#define RXD_FRAME_PROTO vBIT(0xFFFF,24,8)
549#define RXD_FRAME_VLAN_TAG s2BIT(24)
549#define RXD_FRAME_PROTO_IPV4 s2BIT(27) 550#define RXD_FRAME_PROTO_IPV4 s2BIT(27)
550#define RXD_FRAME_PROTO_IPV6 s2BIT(28) 551#define RXD_FRAME_PROTO_IPV6 s2BIT(28)
551#define RXD_FRAME_IP_FRAG s2BIT(29) 552#define RXD_FRAME_IP_FRAG s2BIT(29)
@@ -829,10 +830,11 @@ struct lro {
829 int sg_num; 830 int sg_num;
830 int in_use; 831 int in_use;
831 __be16 window; 832 __be16 window;
833 u16 vlan_tag;
832 u32 cur_tsval; 834 u32 cur_tsval;
833 __be32 cur_tsecr; 835 __be32 cur_tsecr;
834 u8 saw_ts; 836 u8 saw_ts;
835}; 837} ____cacheline_aligned;
836 838
837/* These flags represent the devices temporary state */ 839/* These flags represent the devices temporary state */
838enum s2io_device_state_t 840enum s2io_device_state_t
@@ -1129,7 +1131,7 @@ static int
1129s2io_club_tcp_session(u8 *buffer, u8 **tcp, u32 *tcp_len, struct lro **lro, 1131s2io_club_tcp_session(u8 *buffer, u8 **tcp, u32 *tcp_len, struct lro **lro,
1130 struct RxD_t *rxdp, struct s2io_nic *sp); 1132 struct RxD_t *rxdp, struct s2io_nic *sp);
1131static void clear_lro_session(struct lro *lro); 1133static void clear_lro_session(struct lro *lro);
1132static void queue_rx_frame(struct sk_buff *skb); 1134static void queue_rx_frame(struct sk_buff *skb, u16 vlan_tag);
1133static void update_L3L4_header(struct s2io_nic *sp, struct lro *lro); 1135static void update_L3L4_header(struct s2io_nic *sp, struct lro *lro);
1134static void lro_append_pkt(struct s2io_nic *sp, struct lro *lro, 1136static void lro_append_pkt(struct s2io_nic *sp, struct lro *lro,
1135 struct sk_buff *skb, u32 tcp_len); 1137 struct sk_buff *skb, u32 tcp_len);