From patchwork Sun May 5 06:42:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roi Dayan X-Patchwork-Id: 1931476 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=S+17fHUb; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VXFNn2ddPz1xnS for ; Sun, 5 May 2024 16:43:19 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 6B64660717; Sun, 5 May 2024 06:43:16 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 53lVrhB41Rxf; Sun, 5 May 2024 06:43:15 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 2C70C605C0 Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=S+17fHUb Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id 2C70C605C0; Sun, 5 May 2024 06:43:15 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id DA8B1C007C; Sun, 5 May 2024 06:43:14 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id A3142C0037 for ; Sun, 5 May 2024 06:43:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 813A640639 for ; Sun, 5 May 2024 06:43:13 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 2WXQVSgHzriU for ; Sun, 5 May 2024 06:43:12 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:2009::600; helo=nam10-bn7-obe.outbound.protection.outlook.com; envelope-from=roid@nvidia.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 20BFC4056E Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 20BFC4056E Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=S+17fHUb Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2009::600]) by smtp4.osuosl.org (Postfix) with ESMTPS id 20BFC4056E for ; Sun, 5 May 2024 06:43:11 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HuYLI3p2kWbgW0jX6oRn0HB5Cu4rqBxP8SNQKLANKy+9EljJBHpIfgLVhJtszxhD8kEI47VOCdZ+k1ckA+zYxF+XoUidJvrCbJYHxEYaiYz/2m+E6GX/DqLPQouBwuosV/IS+fnc5sOIiZGQOKrLVMA0l0x0fkoizecLP96a+l0HFJcBtIeU6bM966BNZ+hJbylLQPPicLAZFcgcofa0Zv7suAYnyAoz5I4JFM4b+s2yDuBYAotGf9M5BzBylfZGqpWJ0NRhN3EDs9TPc5Eu6T5AHnH2C8mhpICFyk/9Q7mhlGumu5dwwx8Esze2Gu+G3//bxRm65MkdjAvbM/UW1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YOdz/tDlTTDdNE4yCR+dYQiBMYFWx7XbSlUWeCfEWpE=; b=ckOKZAfR7Gsrfmov2pzCSVM1Ry3oYnCZ1rSqs9uJuyjq47thc2FHzvaCwfVknZ8l+9xT/mMglMXWUVnbUi6Ry5Q//DeeJe8M6841pU3tV+0PJ1yz87UiKLemHbGemzk4bDJynK5WzTS/RHzw7fwK+dmJCTnVbeJhKQo4Tv48bRXFSbWWKOj1KmSbjXpS26twBzuxefJdTjtMksCyMnyzcFeLQJoIrvYwDoCjtZ5iU4U1nN1Xu4AoBAAbNVWk9HD1tOMho/KDi7Umaxow+/stA1SQbj7puxwyNwCtQOr8BBOFqQgc4nVPIdJPed/fOwQLGVHUMCjjkGka5WIpdsCByQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=openvswitch.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YOdz/tDlTTDdNE4yCR+dYQiBMYFWx7XbSlUWeCfEWpE=; b=S+17fHUbri5tWb0Rb8sCP9Djtfg9smmymO7hxUb+B5040MbagV5I2w3Mq5DPsVBDg3xBecgPDUrMjN3z3sGgoL0LDosjO2Hf5iwTHGcPVXYSBKEknyiLsnVXEfQPlR/tBYhUxmZ/Kbj6xAdzfvAT1k+dLhMGdLcBwCv5fVStEYTjDR4h8C0f/kzDSdKGsp/Hxm7tay1Hd1Z87V1LRByU0feNToT1i+/f/lar+gGJqOWx4Z86w4x1c2UAUo0llGRHpAEj0E0LRjs/HOes/mslRuBrXehih27mFmX7p85C1FessWFaNFcGj/XgdqNDtCwNvMH7pxoqJz1eds3OM+K1Cg== Received: from BY5PR20CA0024.namprd20.prod.outlook.com (2603:10b6:a03:1f4::37) by DS0PR12MB8317.namprd12.prod.outlook.com (2603:10b6:8:f4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.39; Sun, 5 May 2024 06:43:07 +0000 Received: from SJ1PEPF00001CE3.namprd05.prod.outlook.com (2603:10b6:a03:1f4:cafe::c5) by BY5PR20CA0024.outlook.office365.com (2603:10b6:a03:1f4::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.39 via Frontend Transport; Sun, 5 May 2024 06:43:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by SJ1PEPF00001CE3.mail.protection.outlook.com (10.167.242.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.18 via Frontend Transport; Sun, 5 May 2024 06:43:05 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sat, 4 May 2024 23:43:00 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sat, 4 May 2024 23:42:59 -0700 Received: from mtr-vdi-198.wap.labs.mlnx (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Sat, 4 May 2024 23:42:58 -0700 To: Date: Sun, 5 May 2024 09:42:08 +0300 Message-ID: <20240505064209.2866336-1-roid@nvidia.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE3:EE_|DS0PR12MB8317:EE_ X-MS-Office365-Filtering-Correlation-Id: 30974a41-0b3a-4de8-656d-08dc6cce9e8e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|82310400017|36860700004|1800799015|376005; X-Microsoft-Antispam-Message-Info: Exn9whBLoiE443fWlA/N3xxa2POBda+TAY3u2kVJcLY2unHVNPUtJe056NMg6iemsST0gD891LIf9YhEHCnJmqP/wPTu9mXm15kt/b8ayK2fpO+g1NZsiQuy+qQldQxlNmFZ9rn0DRp44qOXuZAqV6S7U3pNULZPtoUCk5+pIvOERgSyp5dXKjDEOLdfO4Ap8ELoGqoXOcbSbKUjC1JSmxIHm996OEZzkqVwbBGr6y3k0y22cr8k3ODzKWq6zoLB55nsBcOh1pFND4T3tOE1E+N1m88dHJm3LefwA3/Tv/iFsigTuxnOjWVSU4htu05SnigB1w2w4jQxJV9vA/mEvYLFF0bbkikjE9hxN9tLo/cFOutNQScN+NRoMJs9SzyliBqhClnCU0ribIzQHxKwRBbLDg4AvBCzk9AIgcx6KWgnVHbPZ6/UzEvraO2nfKNGh0DMwPulMEBghX7keP0jUmojC/oIaa+4U4ui8L6MWv0M4ZCjS/D1ZSkOe3Td14S51jZtCIH+bOlnPEIylBkhyeRJGSjmq7AzePaFFii8Z1LY5b83f+J3ND4tYaeS3l3Mnrb9CzAJmelX8xhcKP7iuEcQyE/xVh+E4R4qZUWL8c7VA1yVn1LZY6FvoxvZVymjkJMoV0w1J+ZDM5+QIzj8uGSVx13hiSzsCGHh1oYdtn2Ts7qSgxqdtg2brhhnsJdV5N2xfGyeE93ZTCPZfRm/jmleWMqIL8qEgzqZxs/I8Nj7X0eT5GD3kXkuSMqYWxARnlylEgsnqlgxjufguKLsO05gcI+tfv0EhJD0zL7MjYCoN6qoscy17KHAEILowAWux84DKr0MKNAzXJzkvdn235lTzy0NsBSlEBv9fBPSnXuFuOIPnTVWySeCf7NBqMoRrJeHUIroh79vpOyXNNt8voTBF2+DUsCk8t/mwzKxgpUKjt55kHWLeuJl6rjRdZxO5t2fOS8rYXBtya9H5xZJCNVcg0oV7BiKdN+kWxqo9wV49rKLoA3rpk2u4CNU3+Q3lpp1dWrjOt8cDBxYqZKSUyYlmtWxq8pEpGEh/WUH38WV/R9wsdBNgnwKCsMWtGWWx3iErrioKgCsdt5PTR4x2lSY4AINLrUw4dg96CQ8/GVJOVe72O4TczP21pckNx60gAz8vbhCOHoOR2/gGMaFFcyerdwQnxBLu8QxOBRajv1j3gu/AZT03lTJstqP2OybfGBpCTpkwQKU2vBbHbwMrZOBJmZHf7w1M03uyHZlt6ClPsvc5KDTlE6Ms0AlB5c+LppQF9o8Ld6Sn8Q8W4qNtfeyu140R2woUvIDK8OIuy2IZ9OMVqeHMHpyy4lSpSnqrwZq403FDTVYHeQXlT9BGtNnFTRLDdeJkZS071gnjSEBgxGlxZoabn/tBq7o4R09 X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230031)(82310400017)(36860700004)(1800799015)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2024 06:43:05.8806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30974a41-0b3a-4de8-656d-08dc6cce9e8e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8317 Cc: Eli Britstein , Maor Dickman Subject: [ovs-dev] [PATCH 1/2] flow: Return value from miniflow_extract() X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Roi Dayan via dev From: Roi Dayan Reply-To: Roi Dayan Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Eli Britstein Parsing of the packet has some validity checks. Return it as a return value. Signed-off-by: Eli Britstein Acked-by: Roi Dayan --- lib/flow.c | 6 +++++- lib/flow.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/flow.c b/lib/flow.c index 8e3402388cbc..417e0a63acd0 100644 --- a/lib/flow.c +++ b/lib/flow.c @@ -785,7 +785,7 @@ dump_invalid_packet(struct dp_packet *packet, const char *reason) * present and the packet has at least the content used for the fields * of interest for the flow, otherwise UINT16_MAX. */ -void +bool miniflow_extract(struct dp_packet *packet, struct miniflow *dst) { /* Add code to this function (or its callees) to extract new fields. */ @@ -803,6 +803,7 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst) uint8_t nw_frag, nw_tos, nw_ttl, nw_proto; uint8_t *ct_nw_proto_p = NULL; ovs_be16 ct_tp_src = 0, ct_tp_dst = 0; + bool rv = false; /* Metadata. */ if (flow_tnl_dst_is_set(&md->tunnel)) { @@ -1027,6 +1028,7 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst) sizeof(uint64_t)); } } + rv = true; goto out; } @@ -1166,8 +1168,10 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst) } } } + rv = true; out: dst->map = mf.map; + return rv; } static ovs_be16 diff --git a/lib/flow.h b/lib/flow.h index 75a9be3c19d3..f91e074e2279 100644 --- a/lib/flow.h +++ b/lib/flow.h @@ -541,7 +541,7 @@ struct pkt_metadata; /* The 'dst' must follow with buffer space for FLOW_U64S 64-bit units. * 'dst->map' is ignored on input and set on output to indicate which fields * were extracted. */ -void miniflow_extract(struct dp_packet *packet, struct miniflow *dst); +bool miniflow_extract(struct dp_packet *packet, struct miniflow *dst); void miniflow_map_init(struct miniflow *, const struct flow *); void flow_wc_map(const struct flow *, struct flowmap *); size_t miniflow_alloc(struct miniflow *dsts[], size_t n,