From patchwork Tue Jan 16 00:48:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Malov X-Patchwork-Id: 1886888 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="key not found in DNS" header.d=arknetworks.am header.i=@arknetworks.am header.a=rsa-sha256 header.s=default header.b=bFst3L83; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (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 4TDVxl4Tqvz1yPg for ; Tue, 16 Jan 2024 11:58:33 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 8234140151; Tue, 16 Jan 2024 00:58:29 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 8234140151 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xs8XdlxfEjvo; Tue, 16 Jan 2024 00:58:28 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 62F6740182; Tue, 16 Jan 2024 00:58:27 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 62F6740182 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 3533CC0072; Tue, 16 Jan 2024 00:58:27 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id BF489C0037 for ; Tue, 16 Jan 2024 00:58:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 75777812DA for ; Tue, 16 Jan 2024 00:58:25 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 75777812DA X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Cn9jGDHmUeXI for ; Tue, 16 Jan 2024 00:58:24 +0000 (UTC) X-Greylist: delayed 524 seconds by postgrey-1.37 at util1.osuosl.org; Tue, 16 Jan 2024 00:58:24 UTC DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 15EC480061 Received: from agw.arknetworks.am (agw.arknetworks.am [79.141.165.80]) by smtp1.osuosl.org (Postfix) with ESMTPS id 15EC480061 for ; Tue, 16 Jan 2024 00:58:24 +0000 (UTC) Received: from localhost.localdomain (unknown [78.109.75.155]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by agw.arknetworks.am (Postfix) with ESMTPSA id A58FEE0D7C; Tue, 16 Jan 2024 04:49:36 +0400 (+04) DKIM-Filter: OpenDKIM Filter v2.11.0 agw.arknetworks.am A58FEE0D7C DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arknetworks.am; s=default; t=1705366177; bh=R3NBy6wf7/GBc0z416iHz5i++353GOqk6lqgHiJTlxo=; h=From:To:Cc:Subject:Date:From; b=bFst3L83RFPgHhK6MGOmeSxxIZ9SWoR12cejC7iB/32cyN5Y9x/Tt6wMEQm4j2Dgo +AvSK5X4g2LQhoSGK19ihj4oUI0/1FCApgUpOpQTL21XUKzOk7dotSdVAvH18aFNOD ttF9QtK/zhCS/Mp1heylY0iShmjQQ44w+L5vS0iYEg9dsBFc8subOZMIbaJmCXBJiY Z+6u3tdDD4U4hZIwzDvNvxgHrH2Y62E65PPgAeZxk/THb58iSSPD9z0QZ78DM81yQ0 C8XRaNl66oNFtQNrFe30MwPxlMprk9R9tojZH4BjQfd+iFjpqbD8ZL4gBR3qbvgrZo XZ+TBYA038Bvw== To: ovs-dev@openvswitch.org Date: Tue, 16 Jan 2024 04:48:48 +0400 Message-Id: <20240116004848.7957-1-ivan.malov@arknetworks.am> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Cc: David Marchand , Ilya Maximets Subject: [ovs-dev] [PATCH v8 1/1] netdev-offload-dpdk: replace action PORT_ID with REPRESENTED_PORT 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: Ivan Malov via dev From: Ivan Malov Reply-To: Ivan Malov Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead. Signed-off-by: Ivan Malov --- v8: split from https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html lib/netdev-offload-dpdk.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 992627fa2..623005b1c 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -735,14 +735,15 @@ dump_flow_action(struct ds *s, struct ds *s_extra, ds_put_cstr(s, "rss / "); } else if (actions->type == RTE_FLOW_ACTION_TYPE_COUNT) { ds_put_cstr(s, "count / "); - } else if (actions->type == RTE_FLOW_ACTION_TYPE_PORT_ID) { - const struct rte_flow_action_port_id *port_id = actions->conf; + } else if (actions->type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) { + const struct rte_flow_action_ethdev *ethdev = actions->conf; - ds_put_cstr(s, "port_id "); - if (port_id) { - ds_put_format(s, "original %d id %d ", - port_id->original, port_id->id); + ds_put_cstr(s, "represented_port "); + + if (ethdev) { + ds_put_format(s, "ethdev_port_id %d ", ethdev->port_id); } + ds_put_cstr(s, "/ "); } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) { ds_put_cstr(s, "drop / "); @@ -1776,19 +1777,22 @@ add_count_action(struct flow_actions *actions) } static int -add_port_id_action(struct flow_actions *actions, - struct netdev *outdev) +add_represented_port_action(struct flow_actions *actions, + struct netdev *outdev) { - struct rte_flow_action_port_id *port_id; + struct rte_flow_action_ethdev *ethdev; int outdev_id; outdev_id = netdev_dpdk_get_port_id(outdev); if (outdev_id < 0) { return -1; } - port_id = xzalloc(sizeof *port_id); - port_id->id = outdev_id; - add_flow_action(actions, RTE_FLOW_ACTION_TYPE_PORT_ID, port_id); + + ethdev = xzalloc(sizeof *ethdev); + ethdev->port_id = outdev_id; + + add_flow_action(actions, RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, ethdev); + return 0; } @@ -1808,7 +1812,7 @@ add_output_action(struct netdev *netdev, return -1; } if (!netdev_flow_api_equals(netdev, outdev) || - add_port_id_action(actions, outdev)) { + add_represented_port_action(actions, outdev)) { VLOG_DBG_RL(&rl, "%s: Output to port \'%s\' cannot be offloaded.", netdev_get_name(netdev), netdev_get_name(outdev)); ret = -1;