{"id":813492,"url":"http://patchwork.ozlabs.org/api/patches/813492/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20170913155131.18090-2-jakub.kicinski@netronome.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170913155131.18090-2-jakub.kicinski@netronome.com>","list_archive_url":null,"date":"2017-09-13T15:51:29","name":"[net,1/3] nfp: add whitelist of supported flow dissector","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":true,"hash":"cd9ca41fe8b9d3c2583c7b1f3180d6100315d978","submitter":{"id":67484,"url":"http://patchwork.ozlabs.org/api/people/67484/?format=json","name":"Jakub Kicinski","email":"jakub.kicinski@netronome.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20170913155131.18090-2-jakub.kicinski@netronome.com/mbox/","series":[{"id":2942,"url":"http://patchwork.ozlabs.org/api/series/2942/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=2942","date":"2017-09-13T15:51:28","name":"nfp: wait more carefully for card init","version":1,"mbox":"http://patchwork.ozlabs.org/series/2942/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/813492/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/813492/checks/","tags":{},"related":[],"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=\"Z+jq2eIm\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xsmPK3Fxsz9ryv\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 14 Sep 2017 01:51:49 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751735AbdIMPvr (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 13 Sep 2017 11:51:47 -0400","from mail-pg0-f50.google.com ([74.125.83.50]:46456 \"EHLO\n\tmail-pg0-f50.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751145AbdIMPvn (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 13 Sep 2017 11:51:43 -0400","by mail-pg0-f50.google.com with SMTP id i130so1137701pgc.3\n\tfor <netdev@vger.kernel.org>; Wed, 13 Sep 2017 08:51:43 -0700 (PDT)","from jkicinski-Precision-T1700.netronome.com ([75.53.12.129])\n\tby smtp.gmail.com with ESMTPSA id\n\td69sm5024402pfl.50.2017.09.13.08.51.41\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 13 Sep 2017 08:51:42 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=XFccFIrQQTYufNw0+D0JMgpquDsjDa4v+Hrha0BLOAU=;\n\tb=Z+jq2eImX838LD1sHaPByYSJbeDHOwHQ7up+fKtJIMl1fK05iMQuhJtyCHZJ4UfyLZ\n\tsRjDKu00WVOXLAoimTT2kRDzY4VxKSfaQeo6/OPkg4GDVkFS6D4daTp3FEt7pB8fvtCa\n\tQpLm9MJQZI2gdByb6zGM2+sNQA9kcUCE8gXI+xy5w/MWBW2pIyzdOnaJNHyoZjjC3nPH\n\tNvnxteB/m5F/HVEXXud1DcWTOWCt8Mg2Nkf5N3lCTG6RXShrcmuiGOovr/pVMxx+hbdu\n\t5KaaDKIXDucw8OcbsalV9EMj7JFPH/zaKuKhIgIAI62eS8IOM/Z11JBirwGnoskT0vEQ\n\tMxYg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=XFccFIrQQTYufNw0+D0JMgpquDsjDa4v+Hrha0BLOAU=;\n\tb=BpUZivzArFFr9ROe1LDs95k+af79EqAztkyfEn3aN6naZm3/dOSKK6kMUIjlnBY0C5\n\tnsuv6sJS18gALuaH1FCL+MaBedePGeg74f85siH14auijXkHc1Ro8c5IOyU8kL2ryO3i\n\tD+GqKH2uBTk9gkFfslrmUDyVjsTPkN4XZ3FG+UiCXOzbY3KPk3KO8TNOw7fHQMSPjexD\n\tTvq8rUSROD1KVE0hb+oLHM8o+1EGBVb90o5sjb4u8YYIw6U9ubWY4gmY9PgyGoRU0eAA\n\teDLLbBLG+SdYd9dq95cnPi0gMAF91dDUIeDHi30qEwXFBPv9TBQd5QaQNfZlF+wqO/XB\n\tX8lA==","X-Gm-Message-State":"AHPjjUhFG/Z3BQZ89GO/12L1SfavbegOA7QJxeepgn/XAAMfwC4h6tbE\n\t0Z/lJ3WNTWwDZa3JtHA=","X-Google-Smtp-Source":"ADKCNb7uQ18hkacQ0r734GqEDRBfxvBZAl3bIHvFRat565MLU0eDMYPdAQcLtFct5c0PovZogJGOGw==","X-Received":"by 10.99.53.206 with SMTP id c197mr18274070pga.440.1505317902865;\n\tWed, 13 Sep 2017 08:51:42 -0700 (PDT)","From":"Jakub Kicinski <jakub.kicinski@netronome.com>","To":"netdev@vger.kernel.org","Cc":"oss-drivers@netronome.com, Pieter Jansen van Vuuren \n\t<pieter.jansenvanvuuren@netronome.com>","Subject":"[PATCH net 1/3] nfp: add whitelist of supported flow dissector","Date":"Wed, 13 Sep 2017 08:51:29 -0700","Message-Id":"<20170913155131.18090-2-jakub.kicinski@netronome.com>","X-Mailer":"git-send-email 2.14.1","In-Reply-To":"<20170913155131.18090-1-jakub.kicinski@netronome.com>","References":"<20170913155131.18090-1-jakub.kicinski@netronome.com>","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"From: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>\n\nPreviously we did not check the flow dissector against a list of allowed\nand supported flow key dissectors. This patch introduces such a list and\ncorrectly rejects unsupported flow keys.\n\nFixes: 43f84b72c50d (\"nfp: add metadata to each flow offload\")\nSigned-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>\nReviewed-by: Simon Horman <simon.horman@netronome.com>\nReviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>\n---\n drivers/net/ethernet/netronome/nfp/flower/offload.c | 13 +++++++++++++\n 1 file changed, 13 insertions(+)","diff":"diff --git a/drivers/net/ethernet/netronome/nfp/flower/offload.c b/drivers/net/ethernet/netronome/nfp/flower/offload.c\nindex d396183108f7..a18b4d2b1d3e 100644\n--- a/drivers/net/ethernet/netronome/nfp/flower/offload.c\n+++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c\n@@ -44,6 +44,16 @@\n #include \"../nfp_net.h\"\n #include \"../nfp_port.h\"\n \n+#define NFP_FLOWER_WHITELIST_DISSECTOR \\\n+\t(BIT(FLOW_DISSECTOR_KEY_CONTROL) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_BASIC) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_IPV4_ADDRS) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_IPV6_ADDRS) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_PORTS) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_ETH_ADDRS) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_VLAN) | \\\n+\t BIT(FLOW_DISSECTOR_KEY_IP))\n+\n static int\n nfp_flower_xmit_flow(struct net_device *netdev,\n \t\t     struct nfp_fl_payload *nfp_flow, u8 mtype)\n@@ -112,6 +122,9 @@ nfp_flower_calculate_key_layers(struct nfp_fl_key_ls *ret_key_ls,\n \tu8 key_layer;\n \tint key_size;\n \n+\tif (flow->dissector->used_keys & ~NFP_FLOWER_WHITELIST_DISSECTOR)\n+\t\treturn -EOPNOTSUPP;\n+\n \tif (dissector_uses_key(flow->dissector,\n \t\t\t       FLOW_DISSECTOR_KEY_ENC_CONTROL)) {\n \t\tstruct flow_dissector_key_control *mask_enc_ctl =\n","prefixes":["net","1/3"]}