Commit a92e9e65 authored by Amit Kumar Salecha's avatar Amit Kumar Salecha Committed by David S. Miller

netxen: enable GRO support

Signed-off-by: default avatarAmit Kumar Salecha <amit@netxen.com>
Signed-off-by: default avatarDhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f6d21f44
...@@ -923,7 +923,8 @@ static struct sk_buff *netxen_process_rxbuf(struct netxen_adapter *adapter, ...@@ -923,7 +923,8 @@ static struct sk_buff *netxen_process_rxbuf(struct netxen_adapter *adapter,
static struct netxen_rx_buffer * static struct netxen_rx_buffer *
netxen_process_rcv(struct netxen_adapter *adapter, netxen_process_rcv(struct netxen_adapter *adapter,
int ring, int index, int length, int cksum, int pkt_offset) int ring, int index, int length, int cksum, int pkt_offset,
struct nx_host_sds_ring *sds_ring)
{ {
struct net_device *netdev = adapter->netdev; struct net_device *netdev = adapter->netdev;
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx; struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
...@@ -951,7 +952,7 @@ netxen_process_rcv(struct netxen_adapter *adapter, ...@@ -951,7 +952,7 @@ netxen_process_rcv(struct netxen_adapter *adapter,
skb->protocol = eth_type_trans(skb, netdev); skb->protocol = eth_type_trans(skb, netdev);
netif_receive_skb(skb); napi_gro_receive(&sds_ring->napi, skb);
adapter->stats.no_rcv++; adapter->stats.no_rcv++;
adapter->stats.rxbytes += length; adapter->stats.rxbytes += length;
...@@ -1011,7 +1012,7 @@ netxen_process_rcv_ring(struct nx_host_sds_ring *sds_ring, int max) ...@@ -1011,7 +1012,7 @@ netxen_process_rcv_ring(struct nx_host_sds_ring *sds_ring, int max)
pkt_offset = netxen_get_sts_pkt_offset(sts_data); pkt_offset = netxen_get_sts_pkt_offset(sts_data);
rxbuf = netxen_process_rcv(adapter, ring, index, rxbuf = netxen_process_rcv(adapter, ring, index,
length, cksum, pkt_offset); length, cksum, pkt_offset, sds_ring);
if (rxbuf) if (rxbuf)
list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]); list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]);
......
...@@ -981,6 +981,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -981,6 +981,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
SET_ETHTOOL_OPS(netdev, &netxen_nic_ethtool_ops); SET_ETHTOOL_OPS(netdev, &netxen_nic_ethtool_ops);
netdev->features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO); netdev->features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO);
netdev->features |= (NETIF_F_GRO);
netdev->vlan_features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO); netdev->vlan_features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO);
if (NX_IS_REVISION_P3(revision_id)) { if (NX_IS_REVISION_P3(revision_id)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment