[{"id":1774919,"web_url":"http://patchwork.ozlabs.org/comment/1774919/","msgid":"<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>","list_archive_url":null,"date":"2017-09-25T18:35:25","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":64793,"url":"http://patchwork.ozlabs.org/api/people/64793/","name":"Or Gerlitz","email":"gerlitz.or@gmail.com"},"content":"On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n<simon.horman@netronome.com> wrote:\n> From: John Hurley <john.hurley@netronome.com>\n>\n> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n\nanything in the npf kernel bits has direct relation to ovs? what?\n\n> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n> @@ -52,8 +52,25 @@\n>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n\nthis series takes care of IPv6 tunnels too?","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Bse/+BZf\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1CSf19SWz9t3F\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 26 Sep 2017 04:35:30 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S965538AbdIYSf1 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 25 Sep 2017 14:35:27 -0400","from mail-oi0-f46.google.com ([209.85.218.46]:55269 \"EHLO\n\tmail-oi0-f46.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S934344AbdIYSf1 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 25 Sep 2017 14:35:27 -0400","by mail-oi0-f46.google.com with SMTP id u130so7877195oib.11\n\tfor <netdev@vger.kernel.org>; Mon, 25 Sep 2017 11:35:26 -0700 (PDT)","by 10.202.168.151 with HTTP; Mon, 25 Sep 2017 11:35:25 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=F2sX0v7iybxDchpw0Pfywt6iRUFpzaNxt2nQ3fY7a8g=;\n\tb=Bse/+BZfGdttEz0I47U9qXhdWzY1HKmk+q7KbM/4D39MN6ZtsYjbl1ZCe1rNRAwmHR\n\t2xJbdrjhShAx5+eA+1F3yObUbFgwPoXUAvSC1rAF9PRf8tXq3IoFrtDFjx5wA3RX+F7S\n\tBexJzKIDoUSJFY1UZ7QhCZT89FKnhwp2By9RXIcvj+/yPMfHU+P9vwzglHCsq+rPizrE\n\tF97uB+vp1vlgzk9B1RBg/oclstjWUOm6ypCuozC2ektRNPCF6HSx7XB56jt929FZE5JM\n\tlc4Nm/lVe1iYvXJ9PVVv3oaObupOXEO6HcMriZzX2zYUWjy1iQSu+xyfdiQR2X7da5Bd\n\tMCMQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=F2sX0v7iybxDchpw0Pfywt6iRUFpzaNxt2nQ3fY7a8g=;\n\tb=DaAPMLTI6Cy9kuzdDeJs2ih2E3Hk8+ogQWegwDqLZwueJnkO7t71csVE7+vd72QjM+\n\tw8uK0jASx6aDbPth+1+VXcdyDb+m1VRz/omG6rNkOtpiTR1aM8dga4FsHzUCsgjBePwv\n\tIHqUQCjLa7hrKMQyOsZb/RMoS8V0/41SUq/gFO9qsf5bfOiUfOW5Lf+rPtEpQyr/Mr4w\n\tUle7dH3rVWMcgFZDKVwdKYaUTvRO9jLSjI35bgz/IFmfdVp0wsKjCoBPjgqVqvOK1o4M\n\tlHDOcbG7Wj5M52Djn+4bzQ9CZkgRcc+ShMtQdyI6cGQREMcwPLAl9S6TuzbwDtCThYd7\n\t31tA==","X-Gm-Message-State":"AHPjjUiw2r2EpvhGzUC2AuhfgmceS7gpaYTP3yMsVMRs8EMyhw7YqLkg\n\tY1E1FziO+260fKSMl/VGy8AzqjYpRCqXCJpQWeM=","X-Google-Smtp-Source":"AOwi7QBYr9NCqSyTsxvrL4JGT53t5PcW/ZYH2rQa9tMnuljnO0w3VSveCyc6uUDP0KL/uNqosdFBZgUBzMM2pJE5tf4=","X-Received":"by 10.202.172.10 with SMTP id v10mr10512625oie.318.1506364526397;\n\tMon, 25 Sep 2017 11:35:26 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1506335021-32024-3-git-send-email-simon.horman@netronome.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>","From":"Or Gerlitz <gerlitz.or@gmail.com>","Date":"Mon, 25 Sep 2017 21:35:25 +0300","Message-ID":"<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"Simon Horman <simon.horman@netronome.com>","Cc":"David Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>,\n\toss-drivers@netronome.com, John Hurley <john.hurley@netronome.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1775547,"web_url":"http://patchwork.ozlabs.org/comment/1775547/","msgid":"<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>","list_archive_url":null,"date":"2017-09-26T13:58:30","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":70683,"url":"http://patchwork.ozlabs.org/api/people/70683/","name":"John Hurley","email":"john.hurley@netronome.com"},"content":"On Mon, Sep 25, 2017 at 7:35 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n> On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n> <simon.horman@netronome.com> wrote:\n>> From: John Hurley <john.hurley@netronome.com>\n>>\n>> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n>\n> anything in the npf kernel bits has direct relation to ovs? what?\n>\n\nSorry, this is a typo  and should refer to TC.\n\n>> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n>> @@ -52,8 +52,25 @@\n>>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n>> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n>\n> this series takes care of IPv6 tunnels too?\n\nIPv6 is not included in this set.\nThe reason the IPv6 bit is included here is to account for behavior we\nhave noticed in TC flower.\nIf, for example, I add a filter with the following match fields:\n'protocol ip flower enc_src_ip 10.0.0.1 enc_dst_ip 10.0.0.2\nenc_dst_port 4789 enc_key_id 123'\nThe 'used_keys' value in the dissector marks both IPv4 and IPv6 encap\naddresses as 'used'.\nI am not sure if this is a bug in TC or that we are expected to check\nthe enc_control fields to determine if IPv4 or v6 addresses are used.\nIncluding the IPv6 used_keys bit in our whitelist approach allows us\nto accept legitimate IPv4 tunnel rules in these situations.\nIf it is found to be IPv6 when the rule is parsed, it will be rejected here.","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"RR0GdMno\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jGg0VjYz9sPr\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 26 Sep 2017 23:58:35 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S969342AbdIZN6d (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 26 Sep 2017 09:58:33 -0400","from mail-wr0-f182.google.com ([209.85.128.182]:46531 \"EHLO\n\tmail-wr0-f182.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S968134AbdIZN6b (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 26 Sep 2017 09:58:31 -0400","by mail-wr0-f182.google.com with SMTP id o42so13319258wrb.3\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 06:58:31 -0700 (PDT)","by 10.223.128.97 with HTTP; Tue, 26 Sep 2017 06:58:30 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=WzRmXHto+2n8soWFKjbubhzDJkWsgFOBsyhQH792RBw=;\n\tb=RR0GdMno77Ly0Y7VjE5S/npeVidQFM97I92HWsur9ChVlS6yuqj7+rXtnfnqpi6ORu\n\tQPPxacGKCbXVhGJeIc3FjBR8FJiyKARAHNZIgssxb3w88nBC9Z7osbxwuZQQAd/o+h2Q\n\tkOai6tXLxSXGWkKb5QQBeqetYlSN6BHDwfNUy2wO/h9LoypdGKoEVrA3koq8g6rMkVmE\n\tNVDo8Z0G88Y4KvqHvco9Kw8QJspWPw//+cejC6l3MCSLdxxFnnOjzomNlEuvQQMb5R0P\n\tlEqX9AbT+mCLosjUZ8Ezh6b9Nc2+x8wT5RUvxyso1U3zEItkoiyXTFWB/IzFE5ZuAvqQ\n\tUKrw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=WzRmXHto+2n8soWFKjbubhzDJkWsgFOBsyhQH792RBw=;\n\tb=K5QiFDlR636IGlsvjvpDgozs8xkutIaKL9rr9FulXAfTdbJPQHw2ugpKObcteYK33u\n\tE/kWrte7RdBTc90cXHMBvil8y24k4rreDRt1PWT/Ez3I+y9ueaAun+I19W7tTVXzKusW\n\tq8Nnj/594dBdjzKhtH1vPu79IuWiM9sspJHHC0RVLod6xvSyjtmE+lvz78s2kRHZJotv\n\tSRcJJJTf5JMJfXT1Y7XkUUHWGtmlMiXM/47flYrBnGQWz/T8Pw2nUtF7G/Y7v0boh1/P\n\tu/QklyzBUNUup7kUGIQkYQe4OHGKUPRc3oIbHBNVAuPp/5F1+4J749jSczLYAvCIz6Ri\n\tY4AQ==","X-Gm-Message-State":"AHPjjUibK5G68bnjs1JNnGGSu503YeXoXbOZtEMBVU2UDsddYr/xxxyg\n\tONP566yR51aEm5jS9Quk2phsOypn4bXE3xElNjaeHg==","X-Google-Smtp-Source":"AOwi7QD/ssfcPgVXjyB9QdE0YXX5k6mrzXt6FH6616j35K6U4uDbMdc6w8XQEqZzAiuFb4VQpaCUSs06hzzKWz7muKg=","X-Received":"by 10.223.129.133 with SMTP id 5mr9520728wra.231.1506434310620; \n\tTue, 26 Sep 2017 06:58:30 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>\n\t<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>","From":"John Hurley <john.hurley@netronome.com>","Date":"Tue, 26 Sep 2017 14:58:30 +0100","Message-ID":"<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"Or Gerlitz <gerlitz.or@gmail.com>","Cc":"Simon Horman <simon.horman@netronome.com>,\n\tDavid Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>, oss-drivers@netronome.com","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1775560,"web_url":"http://patchwork.ozlabs.org/comment/1775560/","msgid":"<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>","list_archive_url":null,"date":"2017-09-26T14:12:51","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":64793,"url":"http://patchwork.ozlabs.org/api/people/64793/","name":"Or Gerlitz","email":"gerlitz.or@gmail.com"},"content":"On Tue, Sep 26, 2017 at 4:58 PM, John Hurley <john.hurley@netronome.com> wrote:\n> On Mon, Sep 25, 2017 at 7:35 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>> On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n>> <simon.horman@netronome.com> wrote:\n>>> From: John Hurley <john.hurley@netronome.com>\n>>>\n>>> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n>>\n>> anything in the npf kernel bits has direct relation to ovs? what?\n>>\n>\n> Sorry, this is a typo  and should refer to TC.\n>\n>>> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n>>> @@ -52,8 +52,25 @@\n>>>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>>>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>>>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n>>\n>> this series takes care of IPv6 tunnels too?\n>\n> IPv6 is not included in this set.\n> The reason the IPv6 bit is included here is to account for behavior we\n> have noticed in TC flower.\n> If, for example, I add a filter with the following match fields:\n> 'protocol ip flower enc_src_ip 10.0.0.1 enc_dst_ip 10.0.0.2\n> enc_dst_port 4789 enc_key_id 123'\n> The 'used_keys' value in the dissector marks both IPv4 and IPv6 encap\n> addresses as 'used'.\n> I am not sure if this is a bug in TC or that we are expected to check\n> the enc_control fields to determine if IPv4 or v6 addresses are used.\n\nyou should have your code to check enc_control->addr_type to be\nFLOW_DISSECTOR_KEY_IPV4_ADDRS or IPV6_ADDRS\n\n\n> Including the IPv6 used_keys bit in our whitelist approach allows us\n> to accept legitimate IPv4 tunnel rules in these situations.\n\nmmm can please take a look on fl_init_dissector() and tell me if you\nsee why FLOW_DISSECTOR_KEY_IPV6_ADDRS is set for ipv4 tunnels,\nI am not sure.\n\n> If it is found to be IPv6 when the rule is parsed, it will be rejected here.","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"p/LN1UOM\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jbG559mz9ryT\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 00:12:58 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S968540AbdIZOMz (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 26 Sep 2017 10:12:55 -0400","from mail-oi0-f42.google.com ([209.85.218.42]:54941 \"EHLO\n\tmail-oi0-f42.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S966668AbdIZOMx (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 26 Sep 2017 10:12:53 -0400","by mail-oi0-f42.google.com with SMTP id u130so11602650oib.11\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 07:12:53 -0700 (PDT)","by 10.202.168.151 with HTTP; Tue, 26 Sep 2017 07:12:51 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=acFgIouabQiFn6Hv38fBydQnO2pIw3JNhRfav+P6eKw=;\n\tb=p/LN1UOMbqupUHJtJNNgKiAOpZFNk92lACsRf6MYkad6+38aHbagd4B7TCPGMmyXJp\n\tL55k4VVN9kFOYGgJi+RjtrMXx1XXl2rmV2sfl/jvStq0wVsPHQhBL9/RtSjbJD2vtXX1\n\tSxl2Ag9xbjfelJo8a+A1iuIwiXTMZNRyvdKqlT9fxFHqQ9kHc5pe8xbQUhKtPo5S1vOy\n\telGx4vMI7/amKtXvteG8FGhPGj0yTP7ZjnvYzfQf6pY/dvqkkGlPD4nlE3PWl8FaycmP\n\teKLcPautHZOTy0tfPPNCoSm2kU7rsoCPE9UzS2RwYWHRf1oRi1ccwclVAjnT/F5wEPXE\n\tBwkg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=acFgIouabQiFn6Hv38fBydQnO2pIw3JNhRfav+P6eKw=;\n\tb=EJtLTFlw6luiH6fueFHjfXzRKWhm8E++uKlQxsWnFBBYmA0PE6u9zQ1jiQVT18Qgw4\n\tEx7KSBJQ4Iq9mGjh/dflRNJ6CbiTaaPecPp5DdP7n5umF7I8FHnVC6HshEtjjNnGv2r/\n\ti7dFpGeIwwcT/lOrsnFUeh6ZMA2iho99zBGdKDlxTXXp52sfvWplsvelQNzEyX5hv6sr\n\txLL47uGy5Yqo8QQI7F1BQp1/jrt3FKealm0Li57ZfKZDixqK+a8dBpxHWb+4V3k4M4P5\n\tLotntTWczIXkpPhbcXSs6IiDEHhGyhZSAOpPaqzXOsbqvRnUIaME7S6XeQ56nH0ni05e\n\trxaQ==","X-Gm-Message-State":"AHPjjUjupsORCkRdVYfTZIpEOWwcZl7KaAbFdTVa52UvDr8N9/iq1N3i\n\tclnsN4tc7buhlZd6rlzhr7/qbqNkiLjwPOfbQwH7kQ==","X-Google-Smtp-Source":"AOwi7QCl1zk9ODt57XkIRHsk9EqXfmKQCTj0ATpEjYED/9H3y4MVLsWWDhC24DUV+3QlFMEbxJMl4+qxnq+va4FRWuY=","X-Received":"by 10.202.69.85 with SMTP id s82mr9943157oia.269.1506435172604; \n\tTue, 26 Sep 2017 07:12:52 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>\n\t<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>\n\t<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>","From":"Or Gerlitz <gerlitz.or@gmail.com>","Date":"Tue, 26 Sep 2017 17:12:51 +0300","Message-ID":"<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"John Hurley <john.hurley@netronome.com>","Cc":"Simon Horman <simon.horman@netronome.com>,\n\tDavid Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>, oss-drivers@netronome.com","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1775619,"web_url":"http://patchwork.ozlabs.org/comment/1775619/","msgid":"<CAK+XE=kBG9761tN6uC3ziiqP-jrAjLJ_3J7M-cyfKvTqHVBk7A@mail.gmail.com>","list_archive_url":null,"date":"2017-09-26T15:11:02","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":70683,"url":"http://patchwork.ozlabs.org/api/people/70683/","name":"John Hurley","email":"john.hurley@netronome.com"},"content":"On Tue, Sep 26, 2017 at 3:12 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n> On Tue, Sep 26, 2017 at 4:58 PM, John Hurley <john.hurley@netronome.com> wrote:\n>> On Mon, Sep 25, 2017 at 7:35 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>>> On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n>>> <simon.horman@netronome.com> wrote:\n>>>> From: John Hurley <john.hurley@netronome.com>\n>>>>\n>>>> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n>>>\n>>> anything in the npf kernel bits has direct relation to ovs? what?\n>>>\n>>\n>> Sorry, this is a typo  and should refer to TC.\n>>\n>>>> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n>>>> @@ -52,8 +52,25 @@\n>>>>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>>>>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>>>>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n>>>\n>>> this series takes care of IPv6 tunnels too?\n>>\n>> IPv6 is not included in this set.\n>> The reason the IPv6 bit is included here is to account for behavior we\n>> have noticed in TC flower.\n>> If, for example, I add a filter with the following match fields:\n>> 'protocol ip flower enc_src_ip 10.0.0.1 enc_dst_ip 10.0.0.2\n>> enc_dst_port 4789 enc_key_id 123'\n>> The 'used_keys' value in the dissector marks both IPv4 and IPv6 encap\n>> addresses as 'used'.\n>> I am not sure if this is a bug in TC or that we are expected to check\n>> the enc_control fields to determine if IPv4 or v6 addresses are used.\n>\n> you should have your code to check enc_control->addr_type to be\n> FLOW_DISSECTOR_KEY_IPV4_ADDRS or IPV6_ADDRS\n>\n>\n>> Including the IPv6 used_keys bit in our whitelist approach allows us\n>> to accept legitimate IPv4 tunnel rules in these situations.\n>\n> mmm can please take a look on fl_init_dissector() and tell me if you\n> see why FLOW_DISSECTOR_KEY_IPV6_ADDRS is set for ipv4 tunnels,\n> I am not sure.\n\n\nThe fl_init_dissector uses the FL_KEY_SET_IF_MASKED macro to set an\narray of keys which are then translated to the used_keys values.\nThe FL_KEY_SET_IF_MASKED takes a 'struct fl_flow_key' as input and\nchecks if any mask bits are set in a particular field - if so it\neventually marks it as used.\nIn struct fl_flow_key, the encap ipv4 and ipv6 addresses are\nrepresented as a union of the 2.\nTherefore, if we have masked bits set for IPv4, they are also being\nset for the IPv6 field.\n\n\n>\n>> If it is found to be IPv6 when the rule is parsed, it will be rejected here.","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"ceOrSYmh\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1ktN2LwFz9t3x\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 01:11:08 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S965543AbdIZPLF (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 26 Sep 2017 11:11:05 -0400","from mail-wm0-f42.google.com ([74.125.82.42]:49923 \"EHLO\n\tmail-wm0-f42.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S934122AbdIZPLE (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 26 Sep 2017 11:11:04 -0400","by mail-wm0-f42.google.com with SMTP id r74so8982957wme.4\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 08:11:04 -0700 (PDT)","by 10.223.128.97 with HTTP; Tue, 26 Sep 2017 08:11:02 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=Uoe2QBXqBY0g/Fop8LP8Lzj4KWAvfkvx4VhCp8caiE8=;\n\tb=ceOrSYmh1rbhjxoCoTAuadwoZgqqsWde0gHLz3qa3HncS8VNpqteUHsv784SznVu/1\n\t7uIEO/Qml2dBw6Mk9fKh2cIvetZaE4UtAdk87jj2Quu5nwkoF5oQYEKYWjFVDRFG9Zuc\n\tHMZ8DrA1t/cHiipsHg7mrAi6cgpZh4AmzKOBWRGs5QJljEP3PeQClSIhWqiG9l3J4nx6\n\tp7sJgD7UFalFckJJdn3YLdkTF6U02q17YPsppTKry2HTHWcDT5/u3BJ0Sk9SCP1nWG3J\n\tcmh+ct+KXpgRnTIIw279wvhvAQkwkLJBOuX/uIeUM86M4X65XxaQF6hkJjeRlNbbf34i\n\tdaaQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=Uoe2QBXqBY0g/Fop8LP8Lzj4KWAvfkvx4VhCp8caiE8=;\n\tb=uIQzRJtBNlkjLmclVoUiEsW1TW8ol9rX3LBuIIKAN1H1dT+k8Ty3QBJdnKoVtgP/HC\n\ttdnPXZv5jgHVnPVKk4LfeLGHzgV+NOj9+UsvWJAkB2cVGlEZ4RdBLUTlJBVNnvGftS6h\n\tx7leAZJwxI912U3uWFGrUQZ+EeJPCnvjWae2pG85llvhUAryOfGKjU15QRoWLH8rJIsG\n\t5E7JbaO0n3OvT1XlPwY8hOLNwegpxyp9JLTBL7w00gU6j0nowSUeE0yF5JCPWFuF8xtb\n\tBY2X75tYqarzKLUteH8B2HOsGKsOd2SlhIo07gnR2yS8LJazpyqivXGnfTkvsRDybRuS\n\tMLsg==","X-Gm-Message-State":"AHPjjUhOIxIg8MvrZqQCpF3kfhMycPjRUtOUt4KEx6Cpm04nR37fPTIr\n\tx8CNuxA8KUe+wDknVR7wDjfPZc7XCO1EGtBbwtmBJQ==","X-Google-Smtp-Source":"AOwi7QCWA1bic0b7kSmU6GWF975j8fMoxqyRSLesxouNQYlNMg74RBhg8kao2YWSaARJ6+OIBkxCyw4ICTHwVjpgyp0=","X-Received":"by 10.28.20.80 with SMTP id 77mr3227010wmu.154.1506438663341;\n\tTue, 26 Sep 2017 08:11:03 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>\n\t<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>\n\t<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>\n\t<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>","From":"John Hurley <john.hurley@netronome.com>","Date":"Tue, 26 Sep 2017 16:11:02 +0100","Message-ID":"<CAK+XE=kBG9761tN6uC3ziiqP-jrAjLJ_3J7M-cyfKvTqHVBk7A@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"Or Gerlitz <gerlitz.or@gmail.com>","Cc":"Simon Horman <simon.horman@netronome.com>,\n\tDavid Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>, oss-drivers@netronome.com","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1775641,"web_url":"http://patchwork.ozlabs.org/comment/1775641/","msgid":"<CAJ3xEMhio5+5BK3p5mq=TvA8SzAvjSJm75mN0XiChdWkW3C89g@mail.gmail.com>","list_archive_url":null,"date":"2017-09-26T15:33:49","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":64793,"url":"http://patchwork.ozlabs.org/api/people/64793/","name":"Or Gerlitz","email":"gerlitz.or@gmail.com"},"content":"On Tue, Sep 26, 2017 at 6:11 PM, John Hurley <john.hurley@netronome.com> wrote:\n> On Tue, Sep 26, 2017 at 3:12 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>> On Tue, Sep 26, 2017 at 4:58 PM, John Hurley <john.hurley@netronome.com> wrote:\n>>> On Mon, Sep 25, 2017 at 7:35 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>>>> On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n>>>> <simon.horman@netronome.com> wrote:\n>>>>> From: John Hurley <john.hurley@netronome.com>\n>>>>>\n>>>>> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n>>>>\n>>>> anything in the npf kernel bits has direct relation to ovs? what?\n>>>>\n>>>\n>>> Sorry, this is a typo  and should refer to TC.\n>>>\n>>>>> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n>>>>> @@ -52,8 +52,25 @@\n>>>>>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>>>>>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>>>>>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n>>>>\n>>>> this series takes care of IPv6 tunnels too?\n>>>\n>>> IPv6 is not included in this set.\n>>> The reason the IPv6 bit is included here is to account for behavior we\n>>> have noticed in TC flower.\n>>> If, for example, I add a filter with the following match fields:\n>>> 'protocol ip flower enc_src_ip 10.0.0.1 enc_dst_ip 10.0.0.2\n>>> enc_dst_port 4789 enc_key_id 123'\n>>> The 'used_keys' value in the dissector marks both IPv4 and IPv6 encap\n>>> addresses as 'used'.\n>>> I am not sure if this is a bug in TC or that we are expected to check\n>>> the enc_control fields to determine if IPv4 or v6 addresses are used.\n>>\n>> you should have your code to check enc_control->addr_type to be\n>> FLOW_DISSECTOR_KEY_IPV4_ADDRS or IPV6_ADDRS\n>>\n>>\n>>> Including the IPv6 used_keys bit in our whitelist approach allows us\n>>> to accept legitimate IPv4 tunnel rules in these situations.\n>>\n>> mmm can please take a look on fl_init_dissector() and tell me if you\n>> see why FLOW_DISSECTOR_KEY_IPV6_ADDRS is set for ipv4 tunnels,\n>> I am not sure.\n>\n>\n> The fl_init_dissector uses the FL_KEY_SET_IF_MASKED macro to set an\n> array of keys which are then translated to the used_keys values.\n> The FL_KEY_SET_IF_MASKED takes a 'struct fl_flow_key' as input and\n> checks if any mask bits are set in a particular field - if so it\n> eventually marks it as used.\n> In struct fl_flow_key, the encap ipv4 and ipv6 addresses are\n> represented as a union of the 2.\n> Therefore, if we have masked bits set for IPv4, they are also being\n> set for the IPv6 field.\n\nI see, do you consider it a bug?","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"JicI6UgQ\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1lNq04Xfz9t3F\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 01:34:03 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1031400AbdIZPeB (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 26 Sep 2017 11:34:01 -0400","from mail-oi0-f65.google.com ([209.85.218.65]:38271 \"EHLO\n\tmail-oi0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1754194AbdIZPdu (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 26 Sep 2017 11:33:50 -0400","by mail-oi0-f65.google.com with SMTP id s145so1660871oie.5\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 08:33:50 -0700 (PDT)","by 10.202.168.151 with HTTP; Tue, 26 Sep 2017 08:33:49 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=c15SmjL913QDrS8l5m3gJAvQfnzpapxgVdk5FHeH5AY=;\n\tb=JicI6UgQ2rcOFoUeJht8/2QbOsogk2u6FUMArHRPn57HVeBdcfd+oM/p6qfnBkbeWG\n\tKa781aSIgyQ6dtfynHfbK7mh4Wvd4zy1OtZdGwX0QMXWc+AKKH8kodweTy9cLSRoNilu\n\tYqCqZL/QCnG5ShijwjfOfTP7jH73OMymC5xkBqvndKuT4MvVuOoWkL5+kPIBiZY01xKP\n\tLeXcVhYMosx0KWFlXOaannYWC0Qy5WlYGTJUSXDJPIP2NsWIYAcHzfsYxXZcnL9uXHC+\n\tRERel25aJMCIWc9h5RxqNyRUHUUvVAQmVAc4MWSoWA9l8XmZvEoWeHhpWC/Edlhj3zVM\n\toHaw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=c15SmjL913QDrS8l5m3gJAvQfnzpapxgVdk5FHeH5AY=;\n\tb=AoYNOxjjXLGJ4+TMeZY0RpRs0Odr2xd4pFkkSkyjB73qJZJX91evrVvJyBBvffGbmm\n\tyXA8q+z+TnTH+Y9IFAQ3jSbAnPA7uwtNC8/RYzML6u95Aiy35FR2excXrlvfv+riLDGc\n\tw7WMis2eMtBNpZ1AozLR9HPsY9rgvyvTlkYoXRlyv8Dr8luaTM+IqBDEd93xvUy3GISl\n\tuGlOSkHFzQMhWpOistdvoBMVs3S68AFJSdjPE05iQhUyp6pjR0igodD/ieOvWVccR1WB\n\tGFUiZKlp0RLGYW0vGr1fJTjbaXgQmwACC4WHkJsmQ9LQ3g8Gz9WPyRuLJR+OtOxlwPy6\n\tA24g==","X-Gm-Message-State":"AHPjjUj9eMWy5o6MfJu30Dv/9ZzhNn4mCQdT0nJE9AGFaPhV8DiTbpAs\n\tuyG5WUYmpCSK7X4pnyOUeS/e1Sl61JE1icCYl8g=","X-Google-Smtp-Source":"AOwi7QByL3163SNvy6PXNfbvbCmD+wWkvKL5Mt9CK4ezBcdECCColxqjPhbUwybsWcRVfe8/XdeTSEAZX3KEP0Qw/fw=","X-Received":"by 10.202.86.21 with SMTP id k21mr784921oib.357.1506440030031;\n\tTue, 26 Sep 2017 08:33:50 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAK+XE=kBG9761tN6uC3ziiqP-jrAjLJ_3J7M-cyfKvTqHVBk7A@mail.gmail.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>\n\t<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>\n\t<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>\n\t<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>\n\t<CAK+XE=kBG9761tN6uC3ziiqP-jrAjLJ_3J7M-cyfKvTqHVBk7A@mail.gmail.com>","From":"Or Gerlitz <gerlitz.or@gmail.com>","Date":"Tue, 26 Sep 2017 18:33:49 +0300","Message-ID":"<CAJ3xEMhio5+5BK3p5mq=TvA8SzAvjSJm75mN0XiChdWkW3C89g@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"John Hurley <john.hurley@netronome.com>","Cc":"Simon Horman <simon.horman@netronome.com>,\n\tDavid Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>, oss-drivers@netronome.com","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1775645,"web_url":"http://patchwork.ozlabs.org/comment/1775645/","msgid":"<CAK+XE=kx4ELO_CmcXpvs0+1nLBHWt8Tc0nO6cvNZ0xfu+JGLgw@mail.gmail.com>","list_archive_url":null,"date":"2017-09-26T15:39:47","subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","submitter":{"id":70683,"url":"http://patchwork.ozlabs.org/api/people/70683/","name":"John Hurley","email":"john.hurley@netronome.com"},"content":"On Tue, Sep 26, 2017 at 4:33 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n> On Tue, Sep 26, 2017 at 6:11 PM, John Hurley <john.hurley@netronome.com> wrote:\n>> On Tue, Sep 26, 2017 at 3:12 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>>> On Tue, Sep 26, 2017 at 4:58 PM, John Hurley <john.hurley@netronome.com> wrote:\n>>>> On Mon, Sep 25, 2017 at 7:35 PM, Or Gerlitz <gerlitz.or@gmail.com> wrote:\n>>>>> On Mon, Sep 25, 2017 at 1:23 PM, Simon Horman\n>>>>> <simon.horman@netronome.com> wrote:\n>>>>>> From: John Hurley <john.hurley@netronome.com>\n>>>>>>\n>>>>>> Compile ovs-tc flower vxlan metadata match fields for offloading. Only\n>>>>>\n>>>>> anything in the npf kernel bits has direct relation to ovs? what?\n>>>>>\n>>>>\n>>>> Sorry, this is a typo  and should refer to TC.\n>>>>\n>>>>>> +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n>>>>>> @@ -52,8 +52,25 @@\n>>>>>>          BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n>>>>>>          BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n>>>>>>          BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n>>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_KEYID) | \\\n>>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS) | \\\n>>>>>> +        BIT(FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS) | \\\n>>>>>\n>>>>> this series takes care of IPv6 tunnels too?\n>>>>\n>>>> IPv6 is not included in this set.\n>>>> The reason the IPv6 bit is included here is to account for behavior we\n>>>> have noticed in TC flower.\n>>>> If, for example, I add a filter with the following match fields:\n>>>> 'protocol ip flower enc_src_ip 10.0.0.1 enc_dst_ip 10.0.0.2\n>>>> enc_dst_port 4789 enc_key_id 123'\n>>>> The 'used_keys' value in the dissector marks both IPv4 and IPv6 encap\n>>>> addresses as 'used'.\n>>>> I am not sure if this is a bug in TC or that we are expected to check\n>>>> the enc_control fields to determine if IPv4 or v6 addresses are used.\n>>>\n>>> you should have your code to check enc_control->addr_type to be\n>>> FLOW_DISSECTOR_KEY_IPV4_ADDRS or IPV6_ADDRS\n>>>\n>>>\n>>>> Including the IPv6 used_keys bit in our whitelist approach allows us\n>>>> to accept legitimate IPv4 tunnel rules in these situations.\n>>>\n>>> mmm can please take a look on fl_init_dissector() and tell me if you\n>>> see why FLOW_DISSECTOR_KEY_IPV6_ADDRS is set for ipv4 tunnels,\n>>> I am not sure.\n>>\n>>\n>> The fl_init_dissector uses the FL_KEY_SET_IF_MASKED macro to set an\n>> array of keys which are then translated to the used_keys values.\n>> The FL_KEY_SET_IF_MASKED takes a 'struct fl_flow_key' as input and\n>> checks if any mask bits are set in a particular field - if so it\n>> eventually marks it as used.\n>> In struct fl_flow_key, the encap ipv4 and ipv6 addresses are\n>> represented as a union of the 2.\n>> Therefore, if we have masked bits set for IPv4, they are also being\n>> set for the IPv6 field.\n>\n> I see, do you consider it a bug?\n\nThe code seems to insist that, if either IPv4 or IPv6 is in use then a\ncontrol encap key is also used:\n\nif (FL_KEY_IS_MASKED(&mask->key, enc_ipv4) ||\n   FL_KEY_IS_MASKED(&mask->key, enc_ipv6))\nFL_KEY_SET(keys, cnt, FLOW_DISSECTOR_KEY_ENC_CONTROL,\n  enc_control);\n\nTherefore, I think it should be ok to use this to determine the IP\ntype in use by the tunnel.","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>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"rHVcC9WB\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1lWq22Shz9t3R\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 01:40:07 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S937364AbdIZPju (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 26 Sep 2017 11:39:50 -0400","from mail-wm0-f44.google.com ([74.125.82.44]:48882 \"EHLO\n\tmail-wm0-f44.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S937342AbdIZPjt (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 26 Sep 2017 11:39:49 -0400","by mail-wm0-f44.google.com with SMTP id m127so9274778wmm.3\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 08:39:48 -0700 (PDT)","by 10.223.128.97 with HTTP; Tue, 26 Sep 2017 08:39:47 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=s+udwxe+r3DHU2FsL3j3gjfGLLtl1i6YGKN1MqNs1ws=;\n\tb=rHVcC9WBNdvdLkXgsZcPi3sq+diqFV/TuJyE9SVwiF+G9rPXFnyhIQcjDyg0tHGSlX\n\tDinuxjWnoKyq59ynxvFGU9YhKonEk9L/0hxeXgor2x15vDquhE+01/oZdyYjDbYFftOq\n\t6CF3FIaJazdyvqtpaWM2vfVMHWveRenZIugFOTa2N+zZBUgLyxMOgvhUKuHvLsYHwXkD\n\tDT9/xXgQVio7dA0/FbT3n8uhzeJbHXCGhmHmSdr2l3t7JEht1eiGU0F1DZ2BRDA/ep1i\n\trP1G9ZW5Z6WkRLbAIJPc5wrEDjmXE1ikQnse2FUZRCHD+l26ccFMGZCWWIgr4lrt+zkK\n\thChg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=s+udwxe+r3DHU2FsL3j3gjfGLLtl1i6YGKN1MqNs1ws=;\n\tb=CGqVDgrKYIVh/iAJhwgjae+ZdB3h39S39oO3YQ5LA9MwUEQUAoS67fn0ZqPwRoDMRf\n\tLxbqkGCdUZhhBa+RbH14+7UODkImelRaoopG+Bi6XqbtZkQgbPhnFeZ3y83wpnQHqtpe\n\thJ5ZBNd8ST77pyeey8EoVkgdlnY0swZ5l8SAxfWboYHAIqLCx83I3HU8Yx7BFgeM2Ixy\n\trUpcP8o7cc5pd1wIU0HNzBEBM323fMJm+6ucSc347gAjurO9V78w/S7mT2cOTvoKyHoQ\n\ts+6xplaNQTrWpzBueNZ3fTryrneBB7wjjHx4nwoyZV9LsBf5503MAcuzMmLSnGiK64Sf\n\tUlTg==","X-Gm-Message-State":"AHPjjUicImf7ImZhH8bv6Esq7oRRPV035vJT+3e9U8FzLGZYv75XiYUD\n\tjMj2WHHPaVEBxKWADZ4aIGyIY5vaLsGxqNE2Cewb7Q==","X-Google-Smtp-Source":"AOwi7QBjUGNKHWmgl6+wKzmjcrLrW06OdPWO2qhz0w8YMFT2BOob2HEtLveOFgonJLk2MnJFhEznykHktI6G35l1PTI=","X-Received":"by 10.28.72.135 with SMTP id v129mr3950662wma.102.1506440387973; \n\tTue, 26 Sep 2017 08:39:47 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAJ3xEMhio5+5BK3p5mq=TvA8SzAvjSJm75mN0XiChdWkW3C89g@mail.gmail.com>","References":"<1506335021-32024-1-git-send-email-simon.horman@netronome.com>\n\t<1506335021-32024-3-git-send-email-simon.horman@netronome.com>\n\t<CAJ3xEMgs2d7dcktHfvx_iry8tBy8XK8n6E5W7J0pYPer9Xz_Kg@mail.gmail.com>\n\t<CAK+XE=nSHn6FGTi0kcqi+mcaV3Lo8QANpqQ4z6uNcWE+M3Gngw@mail.gmail.com>\n\t<CAJ3xEMgmC+4V+Yr9PeO1wJ=ACBoPMTrasd7Joyx--F9PjV1yvg@mail.gmail.com>\n\t<CAK+XE=kBG9761tN6uC3ziiqP-jrAjLJ_3J7M-cyfKvTqHVBk7A@mail.gmail.com>\n\t<CAJ3xEMhio5+5BK3p5mq=TvA8SzAvjSJm75mN0XiChdWkW3C89g@mail.gmail.com>","From":"John Hurley <john.hurley@netronome.com>","Date":"Tue, 26 Sep 2017 16:39:47 +0100","Message-ID":"<CAK+XE=kx4ELO_CmcXpvs0+1nLBHWt8Tc0nO6cvNZ0xfu+JGLgw@mail.gmail.com>","Subject":"Re: [PATCH net-next 2/7] nfp: compile flower vxlan tunnel metadata\n\tmatch fields","To":"Or Gerlitz <gerlitz.or@gmail.com>","Cc":"Simon Horman <simon.horman@netronome.com>,\n\tDavid Miller <davem@davemloft.net>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tLinux Netdev List <netdev@vger.kernel.org>, oss-drivers@netronome.com","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]