diff options
author | Narender Kumar <narender.kumar@qlogic.com> | 2009-08-23 04:35:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-23 22:00:20 -0400 |
commit | 1bb482f8a46000f77577948ff1c350275bba7dc9 (patch) | |
tree | 3003df5a4414af44af0756f670531d9445bad397 /drivers/net/netxen/netxen_nic.h | |
parent | 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f (diff) |
netxen: ethtool statistics and control for LRO
Add ethtool -K knob to control LRO in firmware.
LRO path is completely separated from GRO, LRO packets
are still fed with netif_receive_skb().
Also fix ethtool statistics to include LRO packets.
Also use correct message type while configuring interrupt coalescing.
Signed-off-by: Narender Kumar <narender.kumar@qlogic.com>
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic.h')
-rw-r--r-- | drivers/net/netxen/netxen_nic.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h index 5abb41e2d02c..fa43aa059c43 100644 --- a/drivers/net/netxen/netxen_nic.h +++ b/drivers/net/netxen/netxen_nic.h | |||
@@ -576,7 +576,8 @@ struct netxen_adapter_stats { | |||
576 | u64 rxdropped; | 576 | u64 rxdropped; |
577 | u64 txdropped; | 577 | u64 txdropped; |
578 | u64 csummed; | 578 | u64 csummed; |
579 | u64 no_rcv; | 579 | u64 rx_pkts; |
580 | u64 lro_pkts; | ||
580 | u64 rxbytes; | 581 | u64 rxbytes; |
581 | u64 txbytes; | 582 | u64 txbytes; |
582 | }; | 583 | }; |
@@ -958,7 +959,8 @@ typedef struct { | |||
958 | #define NX_NIC_H2C_OPCODE_PROXY_STOP_DONE 20 | 959 | #define NX_NIC_H2C_OPCODE_PROXY_STOP_DONE 20 |
959 | #define NX_NIC_H2C_OPCODE_GET_LINKEVENT 21 | 960 | #define NX_NIC_H2C_OPCODE_GET_LINKEVENT 21 |
960 | #define NX_NIC_C2C_OPCODE 22 | 961 | #define NX_NIC_C2C_OPCODE 22 |
961 | #define NX_NIC_H2C_OPCODE_LAST 23 | 962 | #define NX_NIC_H2C_OPCODE_CONFIG_HW_LRO 24 |
963 | #define NX_NIC_H2C_OPCODE_LAST 25 | ||
962 | 964 | ||
963 | /* | 965 | /* |
964 | * Firmware --> Driver | 966 | * Firmware --> Driver |
@@ -984,6 +986,19 @@ typedef struct { | |||
984 | #define VPORT_MISS_MODE_ACCEPT_ALL 1 /* accept all packets */ | 986 | #define VPORT_MISS_MODE_ACCEPT_ALL 1 /* accept all packets */ |
985 | #define VPORT_MISS_MODE_ACCEPT_MULTI 2 /* accept unmatched multicast */ | 987 | #define VPORT_MISS_MODE_ACCEPT_MULTI 2 /* accept unmatched multicast */ |
986 | 988 | ||
989 | #define NX_NIC_LRO_REQUEST_FIRST 0 | ||
990 | #define NX_NIC_LRO_REQUEST_ADD_FLOW 1 | ||
991 | #define NX_NIC_LRO_REQUEST_DELETE_FLOW 2 | ||
992 | #define NX_NIC_LRO_REQUEST_TIMER 3 | ||
993 | #define NX_NIC_LRO_REQUEST_CLEANUP 4 | ||
994 | #define NX_NIC_LRO_REQUEST_ADD_FLOW_SCHEDULED 5 | ||
995 | #define NX_TOE_LRO_REQUEST_ADD_FLOW 6 | ||
996 | #define NX_TOE_LRO_REQUEST_ADD_FLOW_RESPONSE 7 | ||
997 | #define NX_TOE_LRO_REQUEST_DELETE_FLOW 8 | ||
998 | #define NX_TOE_LRO_REQUEST_DELETE_FLOW_RESPONSE 9 | ||
999 | #define NX_TOE_LRO_REQUEST_TIMER 10 | ||
1000 | #define NX_NIC_LRO_REQUEST_LAST 11 | ||
1001 | |||
987 | #define NX_FW_CAPABILITY_LINK_NOTIFICATION (1 << 5) | 1002 | #define NX_FW_CAPABILITY_LINK_NOTIFICATION (1 << 5) |
988 | #define NX_FW_CAPABILITY_SWITCHING (1 << 6) | 1003 | #define NX_FW_CAPABILITY_SWITCHING (1 << 6) |
989 | #define NX_FW_CAPABILITY_PEXQ (1 << 7) | 1004 | #define NX_FW_CAPABILITY_PEXQ (1 << 7) |
@@ -1064,6 +1079,7 @@ typedef struct { | |||
1064 | 1079 | ||
1065 | #define NETXEN_NIC_MSI_ENABLED 0x02 | 1080 | #define NETXEN_NIC_MSI_ENABLED 0x02 |
1066 | #define NETXEN_NIC_MSIX_ENABLED 0x04 | 1081 | #define NETXEN_NIC_MSIX_ENABLED 0x04 |
1082 | #define NETXEN_NIC_LRO_ENABLED 0x08 | ||
1067 | #define NETXEN_IS_MSI_FAMILY(adapter) \ | 1083 | #define NETXEN_IS_MSI_FAMILY(adapter) \ |
1068 | ((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED)) | 1084 | ((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED)) |
1069 | 1085 | ||
@@ -1290,6 +1306,8 @@ void netxen_advert_link_change(struct netxen_adapter *adapter, int linkup); | |||
1290 | 1306 | ||
1291 | int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); | 1307 | int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); |
1292 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); | 1308 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); |
1309 | int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable); | ||
1310 | int netxen_send_lro_cleanup(struct netxen_adapter *adapter); | ||
1293 | 1311 | ||
1294 | int netxen_nic_set_mac(struct net_device *netdev, void *p); | 1312 | int netxen_nic_set_mac(struct net_device *netdev, void *p); |
1295 | struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev); | 1313 | struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev); |