ixgbe: should not use HW_CSUM, should use IP* flags
as mentioned by Herbert, our hardware supports IP offloads, not full checksum offloads for any protocol in existence (even though the hardware just provides generic csum support over any range of bytes) Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
7c6e0a436d
commit
22f32b7a5a
|
@ -233,15 +233,15 @@ static int ixgbe_set_rx_csum(struct net_device *netdev, u32 data)
|
|||
|
||||
static u32 ixgbe_get_tx_csum(struct net_device *netdev)
|
||||
{
|
||||
return (netdev->features & NETIF_F_HW_CSUM) != 0;
|
||||
return (netdev->features & NETIF_F_IP_CSUM) != 0;
|
||||
}
|
||||
|
||||
static int ixgbe_set_tx_csum(struct net_device *netdev, u32 data)
|
||||
{
|
||||
if (data)
|
||||
netdev->features |= NETIF_F_HW_CSUM;
|
||||
netdev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
|
||||
else
|
||||
netdev->features &= ~NETIF_F_HW_CSUM;
|
||||
netdev->features &= ~NETIF_F_IP_CSUM;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -3593,7 +3593,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
|
|||
goto err_sw_init;
|
||||
|
||||
netdev->features = NETIF_F_SG |
|
||||
NETIF_F_HW_CSUM |
|
||||
NETIF_F_IP_CSUM |
|
||||
NETIF_F_HW_VLAN_TX |
|
||||
NETIF_F_HW_VLAN_RX |
|
||||
NETIF_F_HW_VLAN_FILTER;
|
||||
|
@ -3604,7 +3604,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
|
|||
|
||||
netdev->vlan_features |= NETIF_F_TSO;
|
||||
netdev->vlan_features |= NETIF_F_TSO6;
|
||||
netdev->vlan_features |= NETIF_F_HW_CSUM;
|
||||
netdev->vlan_features |= NETIF_F_IP_CSUM;
|
||||
netdev->vlan_features |= NETIF_F_SG;
|
||||
|
||||
if (pci_using_dac)
|
||||
|
|
Loading…
Reference in a new issue