From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0041.outbound.protection.outlook.com [104.47.1.41]) by dpdk.org (Postfix) with ESMTP id E7F2EA56E for ; Tue, 5 Jun 2018 02:13:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XARI23ZnD6rocYQIIiUwNyF3MiaCN38o0Y7gGgdWWsc=; b=ez/S1CpDmMv1D7KkcjQBogr2sMnOBtMRDPo3sdcQJv/RyfD/aY1wDGJbk5kqUwwTDFiJ0Y4vx2Jp7eVkpYGACusOGI/+3A48xbOaYEZIiXr7AXbGUF6RYttihtsc+41v7m26aMxnrBTJWsShB+Z0aCbMXlfjuQoN5hA6o5+9nlM= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Tue, 5 Jun 2018 00:13:28 +0000 From: Yongseok Koh To: yliu@fridaylinux.org Cc: stable@dpdk.org, shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Date: Mon, 4 Jun 2018 17:11:11 -0700 Message-Id: <20180605001129.13184-50-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605001129.13184-1-yskoh@mellanox.com> References: <20180605001129.13184-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0060.namprd15.prod.outlook.com (2603:10b6:101:1f::28) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:5QAZfTpFtX/bN21dOGzvzUZ33HoPTvjbGurqhiLVEKmBjOOCGmZpNWavskwzCG7VP5in9xKrhTQV2YT82qEMFQ9WNaYcBegvH8C/nvgl0r+WuHg3/aSYoszGAyzd8fwxLH1Qeo9zXF4Bvup8rd0dTk0XhYFclFQKr+ibIJpgSIbq2WGq0jMQE9bqrZy+g59JnkRoUJanOeo+ZJuYCYy3FQ7ELMoAj+3OZFlxTYabT5aMOkAm76yZHzD/wYjNytTl; 25:soe/P/Q24JLtNtzmhJKe/Wb7lnruumCeORGgPAzJPnQlRfTGXa1m3qak4ifRRHLMuswrvfKul9vPkWRTvBo1Fr4mZXjknoXhpHm0wL1dIjVvH2oLc6BQYnUTUTMNSeAqzuLK37xy6ClmKa8v3yLr4ZX7N2yU6g22Zwl1fa3mDIRdYUvq8HERhpfPdjEH5mrA9bfJhcLI8KhOzXkAk2LVJGKDuFqQ23NqJpFtLspZxalqKXjBfGVTTIymlP7CJG1Ib+2kGSIlpp5REY4noBMR1L6qpl2YXqX2NZUBsPMRjLJ+GWG0T9fsXy/vwIhaqxRVFnAQE04o3Qxwozlk2bKPCw==; 31:sTO5s90I8NcIZh6iaGLSy5NZgLr2Nygp67QLarXIZ9WiXJLWgE/ntjrsfIoVoG4jtAHkTMqeEVVpD+xrdZI/pDhASlCL3zHBzoUYMl8kX2sWJD3yIbal9gD5vylO+aHJS35+viEkiOI+dBKreP7/mPw58aUndYjM78BSJDIGAi7vVlSmwr2Np2P2NmE54VYuvt9enKAOvAMwGk03z2Z9XqU0YY70nI9+G5Yq1D6gItU= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:HX2ADATijnZLR4lUDSX9PQZUMSP2d6+TxR4tyMDaAE4Qm3sGaffEs8u6UFhoXKVdV5QYOBl0byD76kQcCDbdxuoXwwsaWElRU4hDswKwrPsR+0qOAFW4BV+EhVqMbvlyu+fnBMHXXtREOJcHk9/Nkyg4glg52SknHEVsF5lQIhd28ORu4sc1G6JZ0iZVNxRwAtgMNBbBylORnQNukN6jB1CwZTlCbhxh2cvXwbOxAGed0IP79rId8nLCCPoRqxtpD4zinGhPMosSCb3Md81lRs7NJEl8e0qq8x3TLivbpMjcGgTt67bUwYvgDVGbrKERI8Es+V3iyfrqJRqGMVh3l2AqstNaO48aW6P4dyO1fTjRQPxKh6dpJWEi/sT/wO2hgvYQ1XEzTMw52wbcty+sHeFmSG4HUvUsnY6LaHvPkzEC1Pf+y3JAue9yi+QiI1HHo7K1/WrQIHHJEio0RoMIjwkdU4Q3wypYjxvc/Xtx3mXY75pTBZzg0Zx8KL8O1x7n; 4:+5j+7Crif901sEQYBpkpyJmhDK12oj0pOSP5b09BEKKiClDrc74glwRD2vib2zsw70jAklZtSrR+UVvoPqIB4xO4wA1op8+1JXjenTPaKscUGUN/fgo+4obAh+tcN34Hn9nAJCbRUOp29Iv3YveZfY67Q5o8zv8WFlt4/yAZUaYa6fY8npfX7CeFc3qLaSJ3S3wMJpP2nGD7aO5DDBqVsk/+l/hjn6oM60pWaTrohKawupDR8d5C/0BnYvNo0gMAmyY75VBma+2c+R6gguWF3Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(39380400002)(366004)(396003)(39860400002)(346002)(376002)(189003)(199004)(478600001)(81156014)(76176011)(7696005)(956004)(2361001)(50226002)(305945005)(2616005)(50466002)(47776003)(486006)(97736004)(5660300001)(6666003)(2351001)(106356001)(8936002)(186003)(81166006)(52116002)(6116002)(476003)(6916009)(23676004)(386003)(446003)(11346002)(59450400001)(66066001)(26005)(3846002)(8676002)(16526019)(1076002)(25786009)(21086003)(86362001)(2870700001)(575784001)(53936002)(4326008)(2906002)(316002)(55016002)(36756003)(105586002)(69596002)(68736007)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjA1MDFNQjIwMzY7MjM6NU5nd0FyS2RHdERlSnZsWGdhRHp0Y1cx?= =?utf-8?B?MlovdGxEcVZTY1FLbVhIMTFBTnpUQWRMZll4Q2w2allEbUFHSndDZXlQQU56?= =?utf-8?B?R2ViSTNKTTY5R1E4THo5SzlORU9ucTAxOTdnRUFuTjFFMzhDV0ptcmR6SFRz?= =?utf-8?B?S2JKbU1VcDdBN1ozbE9LM2FzRVNoUk1DRnpRZUlzdTdURHo4N0JDM0V5OXRB?= =?utf-8?B?a2dzZTFjUHR0bGRrK1pjeUxLRWRka1hQejVoWk1oR2U0ZG9aQ1VSRzlKczRL?= =?utf-8?B?Z2Y5NndXZGJjLy9NOEFjVmp5UHlvTU1lZ1docThqc29iT29aQThvNDBCMHp3?= =?utf-8?B?R0tCTDlCam0rS0NVZDZncGNyRnRZeVlKdGF1dFZ1bUdicWZKV3dZcmlGN3JY?= =?utf-8?B?a0JYY3FMUHV1NzVTUVkrWERZT3U2MFJQL2R4NmJOUW96Z0xsdE0rZ29jaVYr?= =?utf-8?B?emM5bFIrZEtaYkFrMVhjSkRwaURNZXVja1ZLMUtRL2ZqbktlNk1yTXJoQ2dI?= =?utf-8?B?ZUxDWS9zNllFSUF4T0hWekxUTXl0RUk4VjZVeFVtaER4Q1gxdklETFhQSk9t?= =?utf-8?B?dFYrRVVXMHpOMEdWVm1EN0ZsOXFnRW5sL3RhMjUrUnhoSWRpNGlKWFZPcWlr?= =?utf-8?B?SVJNaU9qUDhBL1JTZC9XSnZOMitIaFB1RkRXcVNlQXVlazhyZ2x3OWRCVzVF?= =?utf-8?B?MUZ0MXVUWWJlTTVZZis1bG4vMWhFMHZwbGhTQyt3VU5lMS91MU41UWJ3bWhI?= =?utf-8?B?dGVyeXc1RUw4Q3J2WE0zMmo5aEZZdjBRUDE3cm5mbXo0Uy8xZXdEZDRQd2Zt?= =?utf-8?B?eXFWZU5GVUpwSk4zREhzaCtKN05iaWNpRHdHWW1uSzBSeFJ3QUlSaUYyZjNs?= =?utf-8?B?cUFqM2xFMFVVQ0lJeUEyQ2xKZUVDVldRaDhqYTVRMEsrRUpNMkVLZXd5U1k0?= =?utf-8?B?R3dMdUM0TFVrcGxHNHNacWltc2M5RHZMNFdWN1VNVFR4SnhXWGJRV01PaHNW?= =?utf-8?B?c1czTW44bkxhT0l0ZWU4S3lGNVR5Q2ExdlhNTGZrRS9tLzRnOGtrUmlFMDlp?= =?utf-8?B?RGNpbWlBZGFMZGxzRDkrcDZuTklSU0tRT0pVSzBVOG92VGRWMXFjWkc0S3Jq?= =?utf-8?B?blQwNG5hbUc3R2kvQUgxN2FWc1MwZmRVaWxtTGhTNG1QTGlVTnNDaElKdEJr?= =?utf-8?B?ZTNKMnM4UENyYUV4TXNsbHRYcnp5dk91Wjh0Qll6WDhYSjFvNFF2aXVVcHR6?= =?utf-8?B?eDE2UmRQSGpVakFqbjAxKzVJcVBZYmVXZmlFL2I5UzltSEgzTWEyaGdUTmMx?= =?utf-8?B?NzBGbXdwUXBFeCthMldIY3h3dTFaZ1JBOFptS1A3NS9qZnNXSFdUejhPUGVX?= =?utf-8?B?cEdtcEE3TDBTS1VtaENkYXY5bmpFeWhGZUtyNUlDVjg3ZDMxNVpGODNLUndt?= =?utf-8?B?Tk5JSFlxVE1iaGFUOGJ4QlgxRHVjR2h2NkNXUjMrNElQUnJIdHkxVWNES0ZU?= =?utf-8?B?VlNpSXN6STE4WmxrVlZ2Wmxsd3hqTkk2T1ZjY3AvOUFKYmRNNW5oV2JUdVZp?= =?utf-8?B?NFRobG5PMWJFTEhwL1NuS1dOQlhIVkJoakl1eisySGVjbWxHZnY3NVdaOS9q?= =?utf-8?B?Z2xXa1RWTXBQRmJPZm1DMWtDTFlOU1lDZndKYm1Xa3VpNkxGY3BkeHEwK0Nq?= =?utf-8?B?aGVFUE93Tk5RekV0RXpNMW0vdG9HYlBGZno0MDRGV1IvZkF4QXNmSVc4S29r?= =?utf-8?Q?ZW54Lh6+u8P5DpoAEITHiDHUtGoXNOJTQMj3xDo=3D?= X-Microsoft-Antispam-Message-Info: kJC4Mt3h0O0ApzVZLqOmVdk40fdCMrkNivA6zu1ahCvzapF3TXJRTwgcoNpXZjLASnG4o0dQuJL8yTJDzXqWSfmOo1gFGyNngk8GRUC8MjbBkNcYuJ13LF/z50buAnHXrN2ltZWqUalE1984goaFFasmckltjWdRJ9F6PYZsdWQZAoPESJ+MAhwvHB0SAS4y X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:NTNi2ywZgwaeHJPm8RPr1FPOYWvkuZ2394ti8kt7JpC2hmCLhe/5b6sX3G/CaNckn0ntmWDp0Gc/HtDwwEUMJbV8lwmWVauw6tsT8BbF36fXQhZewnd8d6Cjjtc8vBURE/6UuYoLBFnVFTagg8dojRSsPbjV6vgdAbzl0DJckoM7iX6AFzBy4fvGDRavxPrNWxLwGU7swvWJesYblCf/mGZHaNVyIEi+ssFwsPC0ubxyitBm1lS2UMWHxozShC7+kXMm9F44qiZSmtj3yvRL9AqH/Ot5L1cKU6J5TqizB5OCHq0K0UEcEwU3+uShzjqzW3oKnumtxUNVqFx5H7blvJgC9d3CfA0N31FWLlJ0LKLlHMJxjBKMwOnDTxUKoV4pQnz5nuzcx7fC5sHn7VgRZhCOgv4XeWgDS28exMiqx6uo9x+ie8nfHy1K9s1UZnXwc6Uv+WFpVclkqu3k5o1sUA==; 5:xhzZCvC/hBc9znvkeO4pUIhuhceERH+S1Xf1brjollg71FNRsq3vIM0a/BT1vwzINJ1cearmT5XKRDRItkn6PUyA8FSZttzNN0R+NtzTz0pMY9U9uDGP/mKzBKu3u+/Otgf5vhVWc4QucEhL5n3P8x31BN+wMA4sj92EHYtWEeg=; 24:NE+RbCc4SgY4ZZMIhZwxm4P3n6x6y9xYTO6H5GbYrILNSE/CjOXGC6+VGvb3qxN1s+sg3rJU0fdRPn4yaNzXoPvzJ5gFdZJQvxbvv/FtWQw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:Jk4iZbJUZUUu1x3W3oceOMXvadRjRPr9BIUtpnm3bo207rhjSZzBiigXN8ZsJwO/F1mdKWcY+Gndf+V+3WRCi5ErQ2pl8j6YvjAg7uvhL9nVgsp2F7yjHDdV+eZlHREbS59p5yifm3uCGEXTrTIs5UlUzcIPY82FPCIESvCu4kbnsPQioAyq5B+kMQkIkE3QYX/LZ5w5d2sGyAVYFAvoalEah1s7Qp/YwR+qARqlOraUmNFvJlDjy5dA6rQ1Sfnt X-MS-Office365-Filtering-Correlation-Id: c8837a00-3d13-4d39-59f5-08d5ca792ab3 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:13:28.5292 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c8837a00-3d13-4d39-59f5-08d5ca792ab3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-stable] [PATCH 49/67] net/mlx5: fix flow director mask X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2018 00:13:31 -0000 From: NĂ©lio Laranjeiro [ upstream commit 3c0db1ab516498e96b42fa804a3cf14e0ccf7647 ] During the transition to resurrect flow director on top of rte_flow, mask handling was removed by mistake. Fixes: 4c3e9bcdd52e ("net/mlx5: support flow director") Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro Acked-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_flow.c | 56 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 9591009b6..46fc7c49e 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -483,9 +483,17 @@ struct mlx5_fdir { struct rte_flow_item_ipv6 ipv6; } l3; union { + struct rte_flow_item_ipv4 ipv4; + struct rte_flow_item_ipv6 ipv6; + } l3_mask; + union { struct rte_flow_item_udp udp; struct rte_flow_item_tcp tcp; } l4; + union { + struct rte_flow_item_udp udp; + struct rte_flow_item_tcp tcp; + } l4_mask; struct rte_flow_action_queue queue; }; @@ -2687,6 +2695,8 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, { struct priv *priv = dev->data->dev_private; const struct rte_eth_fdir_input *input = &fdir_filter->input; + const struct rte_eth_fdir_masks *mask = + &dev->data->dev_conf.fdir_conf.mask; /* Validate queue number. */ if (fdir_filter->action.rx_queue >= priv->rxqs_n) { @@ -2733,29 +2743,43 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, .type_of_service = input->flow.ip4_flow.tos, .next_proto_id = input->flow.ip4_flow.proto, }; + attributes->l3_mask.ipv4.hdr = (struct ipv4_hdr){ + .src_addr = mask->ipv4_mask.src_ip, + .dst_addr = mask->ipv4_mask.dst_ip, + .time_to_live = mask->ipv4_mask.ttl, + .type_of_service = mask->ipv4_mask.tos, + .next_proto_id = mask->ipv4_mask.proto, + }; attributes->items[1] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_IPV4, .spec = &attributes->l3, - .mask = &attributes->l3, + .mask = &attributes->l3_mask, }; break; case RTE_ETH_FLOW_NONFRAG_IPV6_UDP: case RTE_ETH_FLOW_NONFRAG_IPV6_TCP: case RTE_ETH_FLOW_NONFRAG_IPV6_OTHER: attributes->l3.ipv6.hdr = (struct ipv6_hdr){ - .hop_limits = input->flow.udp6_flow.ip.hop_limits, - .proto = input->flow.udp6_flow.ip.proto, + .hop_limits = input->flow.ipv6_flow.hop_limits, + .proto = input->flow.ipv6_flow.proto, }; + memcpy(attributes->l3.ipv6.hdr.src_addr, input->flow.ipv6_flow.src_ip, RTE_DIM(attributes->l3.ipv6.hdr.src_addr)); memcpy(attributes->l3.ipv6.hdr.dst_addr, input->flow.ipv6_flow.dst_ip, RTE_DIM(attributes->l3.ipv6.hdr.src_addr)); + memcpy(attributes->l3_mask.ipv6.hdr.src_addr, + mask->ipv6_mask.src_ip, + RTE_DIM(attributes->l3_mask.ipv6.hdr.src_addr)); + memcpy(attributes->l3_mask.ipv6.hdr.dst_addr, + mask->ipv6_mask.dst_ip, + RTE_DIM(attributes->l3_mask.ipv6.hdr.src_addr)); attributes->items[1] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_IPV6, .spec = &attributes->l3, - .mask = &attributes->l3, + .mask = &attributes->l3_mask, }; break; default: @@ -2771,10 +2795,14 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, .src_port = input->flow.udp4_flow.src_port, .dst_port = input->flow.udp4_flow.dst_port, }; + attributes->l4_mask.udp.hdr = (struct udp_hdr){ + .src_port = mask->src_port_mask, + .dst_port = mask->dst_port_mask, + }; attributes->items[2] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_UDP, .spec = &attributes->l4, - .mask = &attributes->l4, + .mask = &attributes->l4_mask, }; break; case RTE_ETH_FLOW_NONFRAG_IPV4_TCP: @@ -2782,10 +2810,14 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, .src_port = input->flow.tcp4_flow.src_port, .dst_port = input->flow.tcp4_flow.dst_port, }; + attributes->l4_mask.tcp.hdr = (struct tcp_hdr){ + .src_port = mask->src_port_mask, + .dst_port = mask->dst_port_mask, + }; attributes->items[2] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_TCP, .spec = &attributes->l4, - .mask = &attributes->l4, + .mask = &attributes->l4_mask, }; break; case RTE_ETH_FLOW_NONFRAG_IPV6_UDP: @@ -2793,10 +2825,14 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, .src_port = input->flow.udp6_flow.src_port, .dst_port = input->flow.udp6_flow.dst_port, }; + attributes->l4_mask.udp.hdr = (struct udp_hdr){ + .src_port = mask->src_port_mask, + .dst_port = mask->dst_port_mask, + }; attributes->items[2] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_UDP, .spec = &attributes->l4, - .mask = &attributes->l4, + .mask = &attributes->l4_mask, }; break; case RTE_ETH_FLOW_NONFRAG_IPV6_TCP: @@ -2804,10 +2840,14 @@ mlx5_fdir_filter_convert(struct rte_eth_dev *dev, .src_port = input->flow.tcp6_flow.src_port, .dst_port = input->flow.tcp6_flow.dst_port, }; + attributes->l4_mask.tcp.hdr = (struct tcp_hdr){ + .src_port = mask->src_port_mask, + .dst_port = mask->dst_port_mask, + }; attributes->items[2] = (struct rte_flow_item){ .type = RTE_FLOW_ITEM_TYPE_TCP, .spec = &attributes->l4, - .mask = &attributes->l4, + .mask = &attributes->l4_mask, }; break; case RTE_ETH_FLOW_NONFRAG_IPV4_OTHER: -- 2.11.0