Просмотр исходного кода

sunvnet: restrict advertized checksum offloads to just IP

As much as we'd like to play well with others, we really aren't
handling the checksums on non-IP protocol packets very well.  This
is easily seen when trying to do TCP over ipv6 - the checksums are
garbage.

Here we restrict the checksum feature flag to just IP traffic so
that we aren't given work we can't yet do.

Orabug: 26175391, 26259755

Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Shannon Nelson 8 лет назад
Родитель
Сommit
7e9191c54a
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      drivers/net/ethernet/sun/ldmvsw.c
  2. 1 1
      drivers/net/ethernet/sun/sunvnet.c

+ 1 - 1
drivers/net/ethernet/sun/ldmvsw.c

@@ -248,7 +248,7 @@ static struct net_device *vsw_alloc_netdev(u8 hwaddr[],
 	dev->ethtool_ops = &vsw_ethtool_ops;
 	dev->ethtool_ops = &vsw_ethtool_ops;
 	dev->watchdog_timeo = VSW_TX_TIMEOUT;
 	dev->watchdog_timeo = VSW_TX_TIMEOUT;
 
 
-	dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG;
+	dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG;
 	dev->features = dev->hw_features;
 	dev->features = dev->hw_features;
 
 
 	/* MTU range: 68 - 65535 */
 	/* MTU range: 68 - 65535 */

+ 1 - 1
drivers/net/ethernet/sun/sunvnet.c

@@ -312,7 +312,7 @@ static struct vnet *vnet_new(const u64 *local_mac,
 	dev->watchdog_timeo = VNET_TX_TIMEOUT;
 	dev->watchdog_timeo = VNET_TX_TIMEOUT;
 
 
 	dev->hw_features = NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GSO_SOFTWARE |
 	dev->hw_features = NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GSO_SOFTWARE |
-			   NETIF_F_HW_CSUM | NETIF_F_SG;
+			   NETIF_F_IP_CSUM | NETIF_F_SG;
 	dev->features = dev->hw_features;
 	dev->features = dev->hw_features;
 
 
 	/* MTU range: 68 - 65535 */
 	/* MTU range: 68 - 65535 */