From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40049.outbound.protection.outlook.com [40.107.4.49]) by dpdk.org (Postfix) with ESMTP id 222AA1B150 for ; Thu, 18 Oct 2018 20:29:53 +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=N5Lm0cHSy0bQvM3rsyBM/GIPHH5rhacOIq7SXXA9zXM=; b=BIvPwHmrU1XlVRuCCl9oCbUjIml359elO5KGiJY2LrQF5YCgCLpg+BHCkfN5Zd3SCYHv+Ajfm0ori3qUNmpJi4JlR2gPBGFBi3Dly/2AmGj8h5mXqKVJvk2Yv5+/ZqG/pTRFDjbF8CyzAYYjgp4aI3LBK2fDgQ8Y2KQrtAKcr5U= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=motih@mellanox.com; Received: from localhost.localdomain (37.142.13.130) by AM0PR05MB4435.eurprd05.prod.outlook.com (2603:10a6:208:5a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.21; Thu, 18 Oct 2018 18:29:51 +0000 From: Moti Haimovsky To: shahafs@mellanox.com Cc: dev@dpdk.org, Moti Haimovsky Date: Thu, 18 Oct 2018 21:29:21 +0300 Message-Id: <1539887363-27858-3-git-send-email-motih@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1539797092-2395-4-git-send-email-motih@mellanox.com> References: <1539797092-2395-4-git-send-email-motih@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: LO2P265CA0168.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9::36) To AM0PR05MB4435.eurprd05.prod.outlook.com (2603:10a6:208:5a::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b24613ff-4b0c-4e61-8c7d-08d63527b18c X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR05MB4435; X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4435; 3:hgHLHwdK6Fkmu/C4qUrRhYkE7t0gwh0MLWPAoiziOfmKypCzSAkzEgBQ7AV3E6kwUUWI/5gG8FlUz6ULba9p6n0Wms2ZWkLTdPMCA+kHmNS6vX+eHvA4vZTrN3VTpEM+uiR/qax2ZH2UxWhddjhS/aK71du9T0LwEt2EvTgNCg5cm9ljnwm5ZQZtfMmH2T7zbFffqZ9de898gsEIjfDM8rt74U88qtFQcu0BKV62CtGgmCHcN9oN4ctGOzJdAVWF; 25:RUHNiKMjiR2smjggEmhcOkaCliYXh7pvnWZJERmhaCAdzLHpvSPKD9GY52gCUrxUln6hrCJ1R3B3GRd8EKPzuX9zhHTOAQZ5aO1PsI2mWCigxePjohFTVyM2rfdrellP0vaBi3a1krwK5TadGA+0IiolmoMq4CzJuZkREaurW1uLqVO1UCJJh9hlEgeD4iLP6zfnyrFKkrlPxXqFEcpxnYMaXTSK4fkuPlstZmGv1ZD2IwY6G3Yijid5frj2G71OeIZ+R4SjMoNHCmNX3G0dTMARYZo0c5bilylVJcGRzfHrFKRBUnPtmPwyaoHudkQ2R5tet+YSkfkTvYyufnnYsA==; 31:rSi4YAcCSGlQJ8jO9i4VUeXEOisXEUlORu22rxTT+pQ/5zhNzRtVVNMwyy7wnM0ZcbZRMtfX9BAMmhYf2WkKX9fyGcyVdMU3+IRldxZRgpUO1iUoch5GienU1VllQlCOmVGIvDAs+M4E8f4gpopnuzWMFQ9Sl8WUd6WsM1WUSq/DxCZVBJHaHLj42Aj6uN2r+5gUmA8bxTuWKPycGoLdA5irnkVcvJyLpAeG0WYDAnA= X-MS-TrafficTypeDiagnostic: AM0PR05MB4435: X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4435; 20:k6dLZNUNsOm7fHNiDJ7k3BBpYuO/ecE6bYpJaRz1qzt0py1Hyu4R2kRiw+gnEStxK+Lm1JOjuertPV6HvIIgIVGR5fiY0jhWlvfGGKDdSCTQGnFO094qXOgntdy8cqGzclyx7eG5RHSFQ8c+cXpfLFfjz8Ilfh56ydx8cpM4PYU0UF1N3ourFEMUAEBNTVldsTQ9SXZ5vChPdfjCsEJffjQ8lYHYg8SLJ89zA3FdB/ccqXgvinkm1qsKlM/vzLZgozSeYPorbgpqT26a7YwZB+iG1AAxJcJ3BL3SXMMeigwYknRK5ehqjHP7dzHu9GijQQ/l+/AfxG74wn3sa6t/DfOe9qa6ULUO5zJoV60VYCxdFL3WA1eh6u2qtQgL7wdkaiGHS5to2Bv7B55fbXBH4SeQ/7THvBAQqQqyLyDYgXXB3K4kbqAAJS7U/v30w0beajSoAacvqBv66MBo5YL+/3RTe3uKIEu06c+p6NYdDIg2JLESfp+ykxC0EPZmV8NM; 4:qOsLAQD1F+mIpxjPH4z1JjlzBYoGHPtN1gVLE4hFO4BXtzdmufWFH2l1nf/CcmxipFpZuwx8X5sEOl79lC/xJ3M6Bo2OjDORFkWmCOyHXr/d6IDGEezuOhg7ecf+sut0fe87TCF9HbWnaa5ct0V/EXXcrRH4pWnyEJ/JAZ9h5AYHFzUEI9yQlqOfQuEffraQMb8FM1lLRqTWXhd8UbtlDDPOi4xuvPOPq3YZWo8Qtz+NBegUv4cB1ZH+2KWvxpMAwIqgrM7d+975M/MZO2aaPw== 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)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:AM0PR05MB4435; BCL:0; PCL:0; RULEID:; SRVR:AM0PR05MB4435; X-Forefront-PRVS: 08296C9B35 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(39860400002)(136003)(396003)(376002)(346002)(366004)(199004)(189003)(3846002)(51416003)(37006003)(2906002)(6636002)(11346002)(76176011)(446003)(2351001)(5660300001)(53936002)(48376002)(6116002)(50466002)(47776003)(478600001)(6512007)(186003)(2616005)(6506007)(105586002)(26005)(14444005)(386003)(50226002)(106356001)(486006)(956004)(16526019)(2361001)(6666004)(97736004)(81166006)(36756003)(81156014)(8936002)(6486002)(4326008)(52116002)(107886003)(66066001)(68736007)(25786009)(69590400006)(16586007)(8676002)(305945005)(316002)(34206002)(86362001)(7736002)(476003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR05MB4435; H:localhost.localdomain; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR05MB4435; 23:o+rrbqTGVkqczme0bavQLfVB743akgOT6Bs2No+qh?= =?us-ascii?Q?2mHCZK7NMXv+sgQrnQ48j54bIW9H+nwWQc/sxqrP4wDs9Vun4Cosm1OlJ+WU?= =?us-ascii?Q?7XCasKzP7adNg32iAMpw3XahCdMrN1Ermjp4tWIYjEIwVaSHvejlJCaek3GJ?= =?us-ascii?Q?ppTBeHyFev6rQT5tQWDVGksHtbuyIbB8IawnfercsvpsUG1RXnu5Nbgeoz7S?= =?us-ascii?Q?vSvP65tBqnEBMoa2Gk7O/YO4/YKvfe7JvhQUYTCeMLM0QCZeS2o7r2hcXCUk?= =?us-ascii?Q?6ai/tMOssknktJqY6iwZBK+V5wwhAOIQ3sBbVEESuAGuBQxLC9ZUEwPTLpYS?= =?us-ascii?Q?OKEqJORkGlnwn27Zz8sffxfx9cfJA3lPc34o313tkW1IR1tUWIMIE6Sdlznx?= =?us-ascii?Q?Uv6Pae3zve2hrYyg/wPfXwz995gf/QLBoJWF9gJwEeFG3otaZgj0G5LOuaMw?= =?us-ascii?Q?ggTtREQtkz2Eoa5rs8qkhNx4xb4+aAyatq8PfElIun0U8iV5yiNilN+Eqz54?= =?us-ascii?Q?qRhS9+v6eUqP9mFJxwrGR8hQ+52jXMBU3Aw9lsSJLVtFF0eLnH9jqbgwOpd5?= =?us-ascii?Q?nw2wsJOT1fCpdxwwAhHpqnaGzUbff35axRuHagYxqu99HejBxAI8b/2iuCvB?= =?us-ascii?Q?394urm4QnrKaYiu3sW2Jh6TP/+Uz++McTxX0solwcCBx9OWxNYptf9hsp973?= =?us-ascii?Q?f0iUWQpGbjsc91HZx9G9J9RwWlX1VuMsbQKtbYuHKAbVlw/tF7rrX3lR0DdZ?= =?us-ascii?Q?SuyMXomuRNoMMP3QyOd3zCGAGn4N5jnpYOZXU4LWtuabvJfZsB/YQo6b9Ipd?= =?us-ascii?Q?+h0ixx4lapgFRV8cwUh+7ER3Fyy1k4QPxLbrs7cq78QBtc6j1r/1SDtHdT2z?= =?us-ascii?Q?ycIdV9zs4Wi5VcAtqjQ6Ln4MeXsdp7hFVUTiEiSqApfhsu1xaBaTdBEtav78?= =?us-ascii?Q?TZdmowj278/D/PxuB0nvyrdhnFKC/25foHcGfKw/4xZZNu+Xu8EPwLSmznVZ?= =?us-ascii?Q?jiasebF2PFcD8+pXzDh6/KY4DALF/Sl0K9FshVi8rBTS0sexSX0Ih71Ixaei?= =?us-ascii?Q?33tUXgfHrpudUDlxajp72YdRqhzFAA2miWCd5VRKoq2CH/KNg6FExPF4bxIK?= =?us-ascii?Q?X/KlCC6Tj7Vvlz7+8zLVG5HXuhOXL4ulpjIfSoisXAfFA6orfpWN5LXpKKQW?= =?us-ascii?Q?D174E0Ekq0m6Q9D0JqhGkFeu4TdZbpxAtV1ghWErnINKBlBXYFVE47qeU0Yq?= =?us-ascii?Q?c04Drp5PG9eu72HVn/Mrrl1RypInFtF5ZCtuiSVgjVIFd3gDT0cdcoMvSgW/?= =?us-ascii?Q?KHx3fiM8ZVGXtC6RKzCHrfq0I7LuHDxhmElSO7G7oM4?= X-Microsoft-Antispam-Message-Info: 3LJMy3Ww2Ss1/hUvEcac0bDi2GIeX7knEHZKTxeUv5/ZBLQbpM1/AAndUzonUHt6ycOc6zXe+YtEBA3zcWNopC0HnI7sdm21tRbJfxYemKVrwFLyGnAUDTF+jeInBBRin6/LwIaZgTf5zM+jrJcbfXaustwza90rOBTySZBaURwl+Dl25lX3H3wHiW84fyc/DU5dDxwycgxx7n7ukCPLXp6GdrrELT2I5lWtIml3pm+hA4D8S1k8deSvUY62dMjZqwkXTIdQfKDIBfgBtA7r4KufgCJpJk1hdcR9NZWLWuBhbMRUVjpEEY4qd9ipWJ6/tb6pVFSkS3UZeIziWdquh6lBJ7PVIRY2+tEolStDo1Q= X-Microsoft-Exchange-Diagnostics: 1; AM0PR05MB4435; 6:M1CyduzNbJXZ4ZrE0syKwTiiKKfTcIhvrSnhm5CYk1t0TjAqsqMkm1ywj5iaG8ujYrfeyOT4DWG63fPBHEUB/yW6CHTKMfHgF36yeuteqDedX7DMy4z4oi4GTES2EUWjr2o6Ikhgz4tx+vkTqdY/Q7eE16xJWA8VhS0EARhTk6BASENMv0+JpfXA+XvpVB4xdIp1gJ5qdLi5KSfm+mi/IKRicxrJGqeA/rqR0RasiqeMfDQwjaOMAqdiypr+RvEz43cESiraE/C0bh8Kt8ODgBTjUvdY+tjHNiPZrkCK1WieprQvT16PjBf/67B8CsVlGO5B0kC+z8jTEgPiWtn4vEdltsXlYzoqDGDj0/zG3gWIHdKHoJPoJ6DtF5HOjUD5MjSXcobFWcrTsVXB3juVOBH93P+2JLykiISGkD+upSKFgd1FyAk5FbX+kmrfDJCrpPSO/soc+WG1bnAUCq0ZAA==; 5:CSa0whgd2IWdrfEKOykC9aPiiacEmcApeFt3slO3kzMpIRTnPPEwSCA4BxmcmTTr3ZxJGuiJWFLZQNrpk4elNG4XvzQwO6Cb8mvo7LynbT3AqwIJVBK4aZ2XM/mVScQYc7krdKiT09bIkbcLwOIP6bFXLrjvzB4QFljCE7sZXIU=; 7:u+tZDdny/kShqEKnSDJC5Fy1N3+EDtIxLRWEXuZY1uqoog+aCXuUPj1Rh7eFEI19BofkV02Sy2aczUhuXVT0gntw0zs4EXqLWEqmdBz0fImhOKaSQwUfe8I5VvIylEnW00c90ZPrmOqhfwgn8q/z1K4TI4Y8FWqilTu70086MVSYl5lcWjN5IYA6JnIZipA76Y3kuyWTdDgMh2gqvYqYZnHSAIu98ixsZvfy5vnqG4G9BVnSuaFF5Ml/XRwrNOcY SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2018 18:29:51.4596 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b24613ff-4b0c-4e61-8c7d-08d63527b18c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4435 Subject: [dpdk-dev] [PATCH v5 2/4] net/mlx5: tc flow to use the new infrastructure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Oct 2018 18:29:53 -0000 modified TC-flow code to use the new infrastructure introduced in "net/mlx5: refactor TC-flow infrastructure" commit. Signed-off-by: Moti Haimovsky --- v5: * Initial version of this patch. --- drivers/net/mlx5/mlx5_flow_tcf.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_tcf.c b/drivers/net/mlx5/mlx5_flow_tcf.c index 5ce2d5f..b890aa2 100644 --- a/drivers/net/mlx5/mlx5_flow_tcf.c +++ b/drivers/net/mlx5/mlx5_flow_tcf.c @@ -2116,8 +2116,8 @@ struct pedit_parser { /** * Send Netlink message with acknowledgment. * - * @param nl - * Libmnl socket to use. + * @param ctx + * Flow context to use. * @param nlh * Message to send. This function always raises the NLM_F_ACK flag before * sending. @@ -2126,12 +2126,13 @@ struct pedit_parser { * 0 on success, a negative errno value otherwise and rte_errno is set. */ static int -flow_tcf_nl_ack(struct mnl_socket *nl, struct nlmsghdr *nlh) +flow_tcf_nl_ack(struct mlx5_flow_tcf_context *ctx, struct nlmsghdr *nlh) { alignas(struct nlmsghdr) uint8_t ans[mnl_nlmsg_size(sizeof(struct nlmsgerr)) + nlh->nlmsg_len - sizeof(*nlh)]; - uint32_t seq = random(); + uint32_t seq = ctx->seq++; + struct mnl_socket *nl = ctx->nl; int ret; nlh->nlmsg_flags |= NLM_F_ACK; @@ -2166,7 +2167,7 @@ struct pedit_parser { struct rte_flow_error *error) { struct priv *priv = dev->data->dev_private; - struct mnl_socket *nl = priv->tcf_context->nl; + struct mlx5_flow_tcf_context *ctx = priv->tcf_context; struct mlx5_flow *dev_flow; struct nlmsghdr *nlh; @@ -2176,7 +2177,7 @@ struct pedit_parser { nlh = dev_flow->tcf.nlh; nlh->nlmsg_type = RTM_NEWTFILTER; nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE | NLM_F_EXCL; - if (!flow_tcf_nl_ack(nl, nlh)) + if (!flow_tcf_nl_ack(ctx, nlh)) return 0; return rte_flow_error_set(error, rte_errno, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, @@ -2195,7 +2196,7 @@ struct pedit_parser { flow_tcf_remove(struct rte_eth_dev *dev, struct rte_flow *flow) { struct priv *priv = dev->data->dev_private; - struct mnl_socket *nl = priv->tcf_context->nl; + struct mlx5_flow_tcf_context *ctx = priv->tcf_context; struct mlx5_flow *dev_flow; struct nlmsghdr *nlh; @@ -2209,7 +2210,7 @@ struct pedit_parser { nlh = dev_flow->tcf.nlh; nlh->nlmsg_type = RTM_DELTFILTER; nlh->nlmsg_flags = NLM_F_REQUEST; - flow_tcf_nl_ack(nl, nlh); + flow_tcf_nl_ack(ctx, nlh); } /** @@ -2302,7 +2303,6 @@ struct pedit_parser { { struct nlmsghdr *nlh; struct tcmsg *tcm; - struct mnl_socket *nl = ctx->nl; alignas(struct nlmsghdr) uint8_t buf[mnl_nlmsg_size(sizeof(*tcm) + 128)]; @@ -2316,7 +2316,7 @@ struct pedit_parser { tcm->tcm_handle = TC_H_MAKE(TC_H_INGRESS, 0); tcm->tcm_parent = TC_H_INGRESS; /* Ignore errors when qdisc is already absent. */ - if (flow_tcf_nl_ack(nl, nlh) && + if (flow_tcf_nl_ack(ctx, nlh) && rte_errno != EINVAL && rte_errno != ENOENT) return rte_flow_error_set(error, rte_errno, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, @@ -2332,7 +2332,7 @@ struct pedit_parser { tcm->tcm_handle = TC_H_MAKE(TC_H_INGRESS, 0); tcm->tcm_parent = TC_H_INGRESS; mnl_attr_put_strz_check(nlh, sizeof(buf), TCA_KIND, "ingress"); - if (flow_tcf_nl_ack(nl, nlh)) + if (flow_tcf_nl_ack(ctx, nlh)) return rte_flow_error_set(error, rte_errno, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, "netlink: failed to create ingress" @@ -2373,7 +2373,7 @@ struct mlx5_flow_tcf_context * /** * Destroy a libmnl context. * - * @param nl + * @param ctx * Libmnl socket of the @p NETLINK_ROUTE kind. */ void -- 1.8.3.1