Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932776AbaLBAJZ (ORCPT ); Mon, 1 Dec 2014 19:09:25 -0500 Received: from mail-ie0-f177.google.com ([209.85.223.177]:64595 "EHLO mail-ie0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752934AbaLBAJY (ORCPT ); Mon, 1 Dec 2014 19:09:24 -0500 MIME-Version: 1.0 In-Reply-To: References: <1416525081-27779-1-git-send-email-joestringer@nicira.com> Date: Mon, 1 Dec 2014 16:09:23 -0800 Message-ID: Subject: Re: [PATCHv2 net] i40e: Implement ndo_gso_check() From: Tom Herbert To: Jesse Gross Cc: Joe Stringer , netdev , Shannon Nelson , "Brandeburg, Jesse" , Jeff Kirsher , "linux.nics" , Linux Kernel Mailing List Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 1, 2014 at 3:53 PM, Jesse Gross wrote: > On Mon, Dec 1, 2014 at 3:47 PM, Tom Herbert wrote: >> On Mon, Dec 1, 2014 at 3:35 PM, Joe Stringer wrote: >>> On 21 November 2014 at 09:59, Joe Stringer wrote: >>>> On 20 November 2014 16:19, Jesse Gross wrote: >>>>> I don't know if we need to have the check at all for IPIP though - >>>>> after all the driver doesn't expose support for it all (actually it >>>>> doesn't expose GRE either). This raises kind of an interesting >>>>> question about the checks though - it's pretty easy to add support to >>>>> the driver for a new GSO type (and I imagine that people will be >>>>> adding GRE soon) and forget to update the check. >>>> >>>> If the check is more conservative, then testing would show that it's >>>> not working and lead people to figure out why (and update the check). >>> >>> More concretely, one suggestion would be something like following at >>> the start of each gso_check(): >>> >>> + const int supported = SKB_GSO_TCPV4 | SKB_GSO_TCPV6 | SKB_GSO_FCOE | >>> + SKB_GSO_UDP | SKB_GSO_UDP_TUNNEL; >>> + >>> + if (skb_shinfo(skb)->gso_type & ~supported) >>> + return false; >> >> This should already be handled by net_gso_ok. > > My original point wasn't so much that this isn't handled at the moment > but that it's easy to add a supported GSO type but then forget to > update this check - i.e. if a driver already supports UDP_TUNNEL and > adds support for GRE with the same constraints. It seems not entirely > ideal that this function is acting as a blacklist rather than a > whitelist. Agreed, it would be nice to have all the checking logic in one place. If all the drivers end up implementing ndo_gso_check then we could potentially get rid of the GSO types as features. This probably wouldn't be a bad thing since we already know that the features mechanism doesn't scale (for instance there's no way to indicate that certain combinations of GSO types are supported by a device). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/