[{"id":1770640,"web_url":"http://patchwork.ozlabs.org/comment/1770640/","msgid":"<20170918.212136.1947336336943040258.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-19T04:21:36","subject":"Re: [PATCH net-next 11/14] net: Add a facility to support\n\tapplication defined GSO","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Tom Herbert <tom@quantonium.net>\nDate: Mon, 18 Sep 2017 17:39:01 -0700\n\n> Allow applications or encapsulation protocols to register a GSO segment\n> function to their specific protocol. To faciliate this I reserved the\n> upper four bits in the gso_type to indicate the application specific GSO\n> type. Zero in these bits indicates no application GSO, so there are\n> fifteen instance that can be defined.\n> \n> An application registers a a gso_segment using the skb_gso_app_register\n> this takes a struct skb_gso_app that indicates a callback function as\n> well as a set of GSO types for which at least one must be matched before\n> calling he segment function. GSO returns one of the application GSO\n> types described above (not a fixed value for the applications).\n> Subsequently, when the application sends a GSO packet the application\n> gso_type is set in the skb gso_type along with any other types.\n> \n> skb_gso_app_segment is the function called from another GSO segment\n> function to handle segmentation of the application or encapsulation\n> protocol. This function includes check flags that provides context for\n> the appropriate GSO instance to match. For instance, in order to handle\n> a protocol encapsulated in UDP (GTP for instance) skb_gso_app_segment is\n> call from udp_tunnel_segment and check flags would be\n> SKB_GSO_UDP_TUNNEL_CSUM | SKB_GSO_UDP_TUNNEL.\n> \n> Signed-off-by: Tom Herbert <tom@quantonium.net>\n\nWhat happens on cards that can offload existing arbitrary UDP tunnel\nencapsulations?\n\nWill something about the state of the GSO type bits you are adding\nprevent that?  Or do we need to add some new checks somewhere?","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xx8pD2r1Bz9ryr\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 19 Sep 2017 14:21:40 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750867AbdISEVi (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 19 Sep 2017 00:21:38 -0400","from shards.monkeyblade.net ([184.105.139.130]:38722 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750750AbdISEVh (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 19 Sep 2017 00:21:37 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 0CDBC102ABA2D;\n\tMon, 18 Sep 2017 21:21:37 -0700 (PDT)"],"Date":"Mon, 18 Sep 2017 21:21:36 -0700 (PDT)","Message-Id":"<20170918.212136.1947336336943040258.davem@davemloft.net>","To":"tom@quantonium.net","Cc":"netdev@vger.kernel.org, pablo@netfilter.org, laforge@gnumonks.org,\n\trohit@quantonium.net","Subject":"Re: [PATCH net-next 11/14] net: Add a facility to support\n\tapplication defined GSO","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<20170919003904.5124-12-tom@quantonium.net>","References":"<20170919003904.5124-1-tom@quantonium.net>\n\t<20170919003904.5124-12-tom@quantonium.net>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Mon, 18 Sep 2017 21:21:37 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]