Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/89510/?format=api
http://patches.dpdk.org/api/patches/89510/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210318195251.683450-1-lance.richardson@broadcom.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20210318195251.683450-1-lance.richardson@broadcom.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20210318195251.683450-1-lance.richardson@broadcom.com", "date": "2021-03-18T19:52:51", "name": "[1/1] net/bnxt: fix handling of null flow mask", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "edda95b97e0de3a904b2334dc097b34a463982e2", "submitter": { "id": 1323, "url": "http://patches.dpdk.org/api/people/1323/?format=api", "name": "Lance Richardson", "email": "lance.richardson@broadcom.com" }, "delegate": { "id": 1766, "url": "http://patches.dpdk.org/api/users/1766/?format=api", "username": "ajitkhaparde", "first_name": "Ajit", "last_name": "Khaparde", "email": "ajit.khaparde@broadcom.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210318195251.683450-1-lance.richardson@broadcom.com/mbox/", "series": [ { "id": 15779, "url": "http://patches.dpdk.org/api/series/15779/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=15779", "date": "2021-03-18T19:52:51", "name": "[1/1] net/bnxt: fix handling of null flow mask", "version": 1, "mbox": "http://patches.dpdk.org/series/15779/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/89510/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/89510/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 2A465A0561;\n\tThu, 18 Mar 2021 20:53:00 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 188C6140F5A;\n\tThu, 18 Mar 2021 20:53:00 +0100 (CET)", "from mail-pj1-f42.google.com (mail-pj1-f42.google.com\n [209.85.216.42])\n by mails.dpdk.org (Postfix) with ESMTP id 74B6F140F3F\n for <dev@dpdk.org>; Thu, 18 Mar 2021 20:52:58 +0100 (CET)", "by mail-pj1-f42.google.com with SMTP id\n nh23-20020a17090b3657b02900c0d5e235a8so3706278pjb.0\n for <dev@dpdk.org>; Thu, 18 Mar 2021 12:52:58 -0700 (PDT)", "from localhost.localdomain ([192.19.231.250])\n by smtp.gmail.com with ESMTPSA id e1sm3191845pfi.175.2021.03.18.12.52.56\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 18 Mar 2021 12:52:57 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:mime-version;\n bh=FNxntzucitytvC6BI+sTnS1Sywi+b0Ho4CGnTVPRCP0=;\n b=DaCjOKj1oX8+oAdvUQF+gUz9QjEI9lkaWIDr1m5cAx+j9dULM2r1kTzoAUaAdvdaGQ\n SkQWJqCb99saGl28wQwcTS870FxKWg5Z4WVmuBeEll6cBM6oGzwe/AnDqGFf89jPcHb1\n 2KEj1tAv7ZD01E0c07S8U470/WeHnjV75X3AE=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version;\n bh=FNxntzucitytvC6BI+sTnS1Sywi+b0Ho4CGnTVPRCP0=;\n b=rB3zFTxP1i/JqR09c3La50tMTyKQOIKno2/IOVSLbQniTzi3bAREfGq2SaiQ9ybNRu\n 5W5/x9AwKC926AoztQCD3LjiTJJzdPB94M8MjUDBFtVqaaAWOAv6BM0a6au5+P3Bzc3B\n CGnZ9OOBjh2MWShjddBRpTNM/Bwi71tcAFoegY4VQJJH9okN0faAX/KM/EjXr/1h5IQl\n 1nh72m9PqNO4LkO+TH2JVpLWsvL2bWA3MONcVZLlRZab9z2enkaejgPhzdAm8JYggayp\n YoT7j8GHeZSiz6dg4S5gHAqq7PZJ+0SlopJw1AxDQ8EGN4CJau6KltAu6/AredL9yp2I\n D4Uw==", "X-Gm-Message-State": "AOAM531274+m43tQhUWhfAmajyEGYV2heZc0RTDpr4Zaqv3HttX/j7HQ\n Feu4xYPawwbSeyp9/3x/Wj0Zog==", "X-Google-Smtp-Source": "\n ABdhPJz49PWoQAkOHxs75EirpHX1XG9qL+Ok4OYFcxY2cU5wEC5fD6xHQC6eTAysUurvTiZWKwmitw==", "X-Received": "by 2002:a17:90a:6708:: with SMTP id\n n8mr6224489pjj.174.1616097177634;\n Thu, 18 Mar 2021 12:52:57 -0700 (PDT)", "From": "Lance Richardson <lance.richardson@broadcom.com>", "To": "Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>", "Cc": "dev@dpdk.org,\n\tstable@dpdk.org", "Date": "Thu, 18 Mar 2021 15:52:51 -0400", "Message-Id": "<20210318195251.683450-1-lance.richardson@broadcom.com>", "X-Mailer": "git-send-email 2.25.1", "MIME-Version": "1.0", "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"0000000000003718c805bdd4f27d\"", "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29", "Subject": "[dpdk-dev] [PATCH 1/1] net/bnxt: fix handling of null flow mask", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "When the mask field of an rte_flow pattern item is NULL,\nthe default mask for that item type should be used.\n\nFixes: 5ef3b79fdfe6 (\"net/bnxt: support flow filter ops\")\nCc: stable@dpdk.org\n\nSigned-off-by: Lance Richardson <lance.richardson@broadcom.com>\n---\n drivers/net/bnxt/bnxt_flow.c | 47 +++++++++++++++++++++++++++---------\n 1 file changed, 36 insertions(+), 11 deletions(-)", "diff": "diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c\nindex a8f5d91fc4..e3906b4779 100644\n--- a/drivers/net/bnxt/bnxt_flow.c\n+++ b/drivers/net/bnxt/bnxt_flow.c\n@@ -188,11 +188,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\t\t\tPMD_DRV_LOG(DEBUG, \"Parse inner header\\n\");\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_ETH:\n-\t\t\tif (!item->spec || !item->mask)\n+\t\t\tif (!item->spec)\n \t\t\t\tbreak;\n \n \t\t\teth_spec = item->spec;\n-\t\t\teth_mask = item->mask;\n+\n+\t\t\tif (item->mask)\n+\t\t\t\teth_mask = item->mask;\n+\t\t\telse\n+\t\t\t\teth_mask = &rte_flow_item_eth_mask;\n \n \t\t\t/* Source MAC address mask cannot be partially set.\n \t\t\t * Should be All 0's or all 1's.\n@@ -281,7 +285,12 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_VLAN:\n \t\t\tvlan_spec = item->spec;\n-\t\t\tvlan_mask = item->mask;\n+\n+\t\t\tif (item->mask)\n+\t\t\t\tvlan_mask = item->mask;\n+\t\t\telse\n+\t\t\t\tvlan_mask = &rte_flow_item_vlan_mask;\n+\n \t\t\tif (en & en_ethertype) {\n \t\t\t\trte_flow_error_set(error, EINVAL,\n \t\t\t\t\t\t RTE_FLOW_ERROR_TYPE_ITEM,\n@@ -324,11 +333,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\tcase RTE_FLOW_ITEM_TYPE_IPV4:\n \t\t\t/* If mask is not involved, we could use EM filters. */\n \t\t\tipv4_spec = item->spec;\n-\t\t\tipv4_mask = item->mask;\n \n-\t\t\tif (!item->spec || !item->mask)\n+\t\t\tif (!item->spec)\n \t\t\t\tbreak;\n \n+\t\t\tif (item->mask)\n+\t\t\t\tipv4_mask = item->mask;\n+\t\t\telse\n+\t\t\t\tipv4_mask = &rte_flow_item_ipv4_mask;\n+\n \t\t\t/* Only IP DST and SRC fields are maskable. */\n \t\t\tif (ipv4_mask->hdr.version_ihl ||\n \t\t\t ipv4_mask->hdr.type_of_service ||\n@@ -385,11 +398,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_IPV6:\n \t\t\tipv6_spec = item->spec;\n-\t\t\tipv6_mask = item->mask;\n \n-\t\t\tif (!item->spec || !item->mask)\n+\t\t\tif (!item->spec)\n \t\t\t\tbreak;\n \n+\t\t\tif (item->mask)\n+\t\t\t\tipv6_mask = item->mask;\n+\t\t\telse\n+\t\t\t\tipv6_mask = &rte_flow_item_ipv6_mask;\n+\n \t\t\t/* Only IP DST and SRC fields are maskable. */\n \t\t\tif (ipv6_mask->hdr.vtc_flow ||\n \t\t\t ipv6_mask->hdr.payload_len ||\n@@ -437,11 +454,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_TCP:\n \t\t\ttcp_spec = item->spec;\n-\t\t\ttcp_mask = item->mask;\n \n-\t\t\tif (!item->spec || !item->mask)\n+\t\t\tif (!item->spec)\n \t\t\t\tbreak;\n \n+\t\t\tif (item->mask)\n+\t\t\t\ttcp_mask = item->mask;\n+\t\t\telse\n+\t\t\t\ttcp_mask = &rte_flow_item_tcp_mask;\n+\n \t\t\t/* Check TCP mask. Only DST & SRC ports are maskable */\n \t\t\tif (tcp_mask->hdr.sent_seq ||\n \t\t\t tcp_mask->hdr.recv_ack ||\n@@ -482,11 +503,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ITEM_TYPE_UDP:\n \t\t\tudp_spec = item->spec;\n-\t\t\tudp_mask = item->mask;\n \n-\t\t\tif (!item->spec || !item->mask)\n+\t\t\tif (!item->spec)\n \t\t\t\tbreak;\n \n+\t\t\tif (item->mask)\n+\t\t\t\tudp_mask = item->mask;\n+\t\t\telse\n+\t\t\t\tudp_mask = &rte_flow_item_udp_mask;\n+\n \t\t\tif (udp_mask->hdr.dgram_len ||\n \t\t\t udp_mask->hdr.dgram_cksum) {\n \t\t\t\trte_flow_error_set(error,\n", "prefixes": [ "1/1" ] }{ "id": 89510, "url": "