On Mon, May 2, 2016 at 9:25 AM, Alexander Duyck <[email protected]> wrote: > In the case of the mlx4 and mlx5 driver they do not support IPv6 checksum > offload for tunnels. With this being the case we should disable GSO in > addition to the checksum offload features when we find that a device cannot > perform a checksum on a given packet type. > I'm not sure I understand this. If device can't support checksum offload for tunnels doesn't that mean we have to do the checksum on host regardless of whether GSO is being done?
Tom > Signed-off-by: Alexander Duyck <[email protected]> > --- > net/core/dev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/dev.c b/net/core/dev.c > index 77a71cd68535..5c925ac50b95 100644 > --- a/net/core/dev.c > +++ b/net/core/dev.c > @@ -2802,7 +2802,7 @@ static netdev_features_t harmonize_features(struct > sk_buff *skb, > > if (skb->ip_summed != CHECKSUM_NONE && > !can_checksum_protocol(features, type)) { > - features &= ~NETIF_F_CSUM_MASK; > + features &= ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK); > } else if (illegal_highdma(skb->dev, skb)) { > features &= ~NETIF_F_SG; > } >
