Stephen Hemminger wrote:
> Here is a proposed change to address hardware that can do IPV6 checksum
> offload, but doesn't truly do generic hw checksumming.  The bnx2 and tg3
> are like this for some revisions, and upcoming Marvell 88e8071 is similar.
> 
> 
> --- a/include/linux/netdevice.h       2007-05-30 08:26:18.000000000 -0700
> +++ b/include/linux/netdevice.h       2007-05-30 08:30:20.000000000 -0700
> @@ -314,9 +314,10 @@ struct net_device
>       /* Net device features */
>       unsigned long           features;
>  #define NETIF_F_SG           1       /* Scatter/gather IO. */
> -#define NETIF_F_IP_CSUM              2       /* Can checksum only TCP/UDP 
> over IPv4. */
> +#define NETIF_F_IP_CSUM              2       /* Can checksum TCP/UDP over 
> IPv4. */
>  #define NETIF_F_NO_CSUM              4       /* Does not require checksum. 
> F.e. loopack. */
>  #define NETIF_F_HW_CSUM              8       /* Can checksum all the 
> packets. */
> +#define NETIF_F_IPV6_CSUM    16      /* Can checksum TCP/UDP over IPV6 */
>  #define NETIF_F_HIGHDMA              32      /* Can DMA to high memory. */
>  #define NETIF_F_FRAGLIST     64      /* Scatter/gather IO. */
>  #define NETIF_F_HW_VLAN_TX   128     /* Transmit VLAN hw acceleration */
> @@ -339,7 +340,8 @@ struct net_device
>  #define NETIF_F_GSO_SOFTWARE (NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
>  
>  #define NETIF_F_GEN_CSUM     (NETIF_F_NO_CSUM | NETIF_F_HW_CSUM)
> -#define NETIF_F_ALL_CSUM     (NETIF_F_IP_CSUM | NETIF_F_GEN_CSUM)
> +#define NETIF_F_ALL_CSUM     (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM \
> +                              | NETIF_F_GEN_CSUM)


This might confuse some of the existing IPv4 code that
checks for NETIF_F_ALL_CSUM if we ever get a device that
has NETIF_F_IPV6_CSUM but not NETIF_F_IP_CSUM.

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to