diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2008-08-26 07:27:18 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-03 10:03:33 -0400 |
commit | 22f32b7a5ad34f23eb18f0e089522f1652ae8abc (patch) | |
tree | cb5aa66f0ae957b2e6ee1878cac9b772451b7b86 /drivers/net/ixgbe | |
parent | 7c6e0a436d971641d37cebcb12e8cc0c4419b5d4 (diff) |
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>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 6 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index 3efe5dda10af..61c000e23094 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
@@ -233,15 +233,15 @@ static int ixgbe_set_rx_csum(struct net_device *netdev, u32 data) | |||
233 | 233 | ||
234 | static u32 ixgbe_get_tx_csum(struct net_device *netdev) | 234 | static u32 ixgbe_get_tx_csum(struct net_device *netdev) |
235 | { | 235 | { |
236 | return (netdev->features & NETIF_F_HW_CSUM) != 0; | 236 | return (netdev->features & NETIF_F_IP_CSUM) != 0; |
237 | } | 237 | } |
238 | 238 | ||
239 | static int ixgbe_set_tx_csum(struct net_device *netdev, u32 data) | 239 | static int ixgbe_set_tx_csum(struct net_device *netdev, u32 data) |
240 | { | 240 | { |
241 | if (data) | 241 | if (data) |
242 | netdev->features |= NETIF_F_HW_CSUM; | 242 | netdev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM); |
243 | else | 243 | else |
244 | netdev->features &= ~NETIF_F_HW_CSUM; | 244 | netdev->features &= ~NETIF_F_IP_CSUM; |
245 | 245 | ||
246 | return 0; | 246 | return 0; |
247 | } | 247 | } |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index b5780991c17b..b6973ee905e3 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -3593,7 +3593,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
3593 | goto err_sw_init; | 3593 | goto err_sw_init; |
3594 | 3594 | ||
3595 | netdev->features = NETIF_F_SG | | 3595 | netdev->features = NETIF_F_SG | |
3596 | NETIF_F_HW_CSUM | | 3596 | NETIF_F_IP_CSUM | |
3597 | NETIF_F_HW_VLAN_TX | | 3597 | NETIF_F_HW_VLAN_TX | |
3598 | NETIF_F_HW_VLAN_RX | | 3598 | NETIF_F_HW_VLAN_RX | |
3599 | NETIF_F_HW_VLAN_FILTER; | 3599 | NETIF_F_HW_VLAN_FILTER; |
@@ -3604,7 +3604,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
3604 | 3604 | ||
3605 | netdev->vlan_features |= NETIF_F_TSO; | 3605 | netdev->vlan_features |= NETIF_F_TSO; |
3606 | netdev->vlan_features |= NETIF_F_TSO6; | 3606 | netdev->vlan_features |= NETIF_F_TSO6; |
3607 | netdev->vlan_features |= NETIF_F_HW_CSUM; | 3607 | netdev->vlan_features |= NETIF_F_IP_CSUM; |
3608 | netdev->vlan_features |= NETIF_F_SG; | 3608 | netdev->vlan_features |= NETIF_F_SG; |
3609 | 3609 | ||
3610 | if (pci_using_dac) | 3610 | if (pci_using_dac) |