From patchwork Wed May 29 01:14:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunyang Wu X-Patchwork-Id: 1940854 X-Patchwork-Delegate: horms@verge.net.au 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=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=GNnh3zp4; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::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 4VpryH0Lqfz20Pq for ; Wed, 29 May 2024 11:14:29 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 3A4B340466; Wed, 29 May 2024 01:14:25 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id yb8bPZCe3bY3; Wed, 29 May 2024 01:14:22 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1A86E400FB Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=GNnh3zp4 Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 1A86E400FB; Wed, 29 May 2024 01:14:22 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id EA36EC0077; Wed, 29 May 2024 01:14:21 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id AD77BC0037 for ; Wed, 29 May 2024 01:14:20 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9614C60639 for ; Wed, 29 May 2024 01:14:20 +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 VoaBfdEMmk2D for ; Wed, 29 May 2024 01:14:19 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f400:feab::720; helo=apc01-sg2-obe.outbound.protection.outlook.com; envelope-from=sunyang.wu@jaguarmicro.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org 3F4F160600 Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=jaguarmicro.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 3F4F160600 Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=GNnh3zp4 Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on20720.outbound.protection.outlook.com [IPv6:2a01:111:f400:feab::720]) by smtp3.osuosl.org (Postfix) with ESMTPS id 3F4F160600 for ; Wed, 29 May 2024 01:14:17 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hT1ZetjKUHyPbemWbWeCAy+Ocm0q8RmKeIEPq3jC2AB16GoJxAatdfcuAezdNONSVaQJfsmp+F3Ht1FdaAtOnl7nhfRkwOcNRqRM7ZkTJ8fhxUAlxqOXye+Gu/2R3hzx8iWUP9H5Rpu927uIWwo3nko8Uct3jRxpgfLOkuBXFFLVJX0kYbUDyz+yQMohMy3eC2zT3+OuRjg46WfJKNd78GIR7d5eNpZVd14nPrnMsSzFfl5LS/7VWHDraNiDLdDrZ6C220DDyJa8gab1OItn24ukJ1Xyi+zV5RVJLFuufbndNeb4rU+ikAjNi/G3gekREzkGWxaFxuLOG15XGJh0SQ== 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=kypL4/X/t3G7Ib9Y1Niz3zU3gN5OIblSUR10szzGAbQ=; b=BLw8XVfAV+RZGo7HhP5gU2wp380gT+YB/y/JUKJa3USmAaKkwXICzKj4z3zR/JyvyWvAYJ0pzvdvwtYm8EhCkkU9kJSpjaPARfSjnlPK1dx4FhKXckXS2WX5GGBaMzP8rPmmH8W5VmGBsQEWD8smLZqVrNvg9u0T+aNZfwEQbuI535uhFhg+eY1GvcTa4jkVCNKZxIR4UjhtBQErGPu1/1AYC3aWRUQ6UfTBk2ybbdQ1PgNwj4ioS3XFxgSo96Cjb4ED5HWcGNH5I0M+N67xUK3Cs3tP5ZkErDoxvU0EVTMtq/PyNNni+45BRpcPLmIz/TXAZ5HRqPutW04+nB6CGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jaguarmicro.com; dmarc=pass action=none header.from=jaguarmicro.com; dkim=pass header.d=jaguarmicro.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jaguarmicro.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kypL4/X/t3G7Ib9Y1Niz3zU3gN5OIblSUR10szzGAbQ=; b=GNnh3zp44ChG1EYjLe0wfusxuEN6myZH05DYfgMIlg9WMhCdZ0Re6+SzwqPP3X3wRyzPYTSEGxuJQ3qWZGL5/5U44TBotdzhYrQXfI6QohR0fyhLdaoBocJRkxR82NX1hsUIvLSvm0sc5F/N/Dt6GIWCdvpuu19lzaHcZkbJtDNPNSpjl7XeOeaMzmzSs2M9xDsLkxpVDtJCYvSlEnyKHsS8tUTmWGLdeBvy2HMxq4Nrai5WWwefqVx1aDBAd3HjcF2/NIh/mjgE58egYfZLgIScGmH3yAbncGze1SPGmNM4MTuQkyVALprcn5+VKYQNr/IvhlNiFIGxs7IeUoCDng== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jaguarmicro.com; Received: from KL1PR0601MB5567.apcprd06.prod.outlook.com (2603:1096:820:c5::14) by SEYPR06MB6864.apcprd06.prod.outlook.com (2603:1096:101:1b4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Wed, 29 May 2024 01:14:09 +0000 Received: from KL1PR0601MB5567.apcprd06.prod.outlook.com ([fe80::3ad3:b4d9:7e69:85cb]) by KL1PR0601MB5567.apcprd06.prod.outlook.com ([fe80::3ad3:b4d9:7e69:85cb%5]) with mapi id 15.20.7611.030; Wed, 29 May 2024 01:14:09 +0000 To: ovs-dev@openvswitch.org Date: Wed, 29 May 2024 09:14:03 +0800 Message-Id: <20240529011403.34104-1-sunyang.wu@jaguarmicro.com> X-Mailer: git-send-email 2.19.0.rc0.windows.1 X-ClientProxiedBy: SI2PR01CA0039.apcprd01.prod.exchangelabs.com (2603:1096:4:193::16) To KL1PR0601MB5567.apcprd06.prod.outlook.com (2603:1096:820:c5::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR0601MB5567:EE_|SEYPR06MB6864:EE_ X-MS-Office365-Filtering-Correlation-Id: b8a9ecae-78d8-410f-aac2-08dc7f7ca478 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|1800799015|52116005|38350700005; X-Microsoft-Antispam-Message-Info: 2LvxyqQinVK7mHgL4YeOWy8aTsb5HAZD0N+bVzHuPB/LbBnXPhGmqIxv62iYQXwJatWEu53NQdSReKl6Um1ozDEPhd0qgvEb+43v8k8QmoIAygKii6DG8pvLUJYCXiH8CJSETM93+gZojXZe4FB5JXzHU0DbqH+B95KV4GgbfGbuHka+oYJmnO06+S8O28OYZS0Zjhm7AAzkmO8u1dp++EXjDsRkfBY1ozWZEHiZWc9l9a4OwyoRWeLwBB0rBEKo4tU4j/Akg2d9RmR6xkJ1vx168NEfphxeB7l2zqIUzW7lVbIzkL8QjP1ZKc1o+Ljeb2vZXbnCAQMFRroz8pLLs0NxizTyfY99Pn+HMnMjL4DyLYZe/hRGvMat6bp9aSPoMeJifrWMI3se2oF8xNgY2PhMHRk/sS7DlFk3nAwWB98A5gaG4Y5rAlCtQ+qjRf4oMFFhk8BO210wuinTswulkJPtmlbxXZQByROYGMV7vMEhPEMEY3TLApQe1nNKFeCzy7rYrGCiawyLvW18CGpY5UlnzfBLROZEzIFVXNspH3+IUI3GXhCOG6AkCwbQk+UjnS2u4HVWxEDOV2gb0tIJP+dGvo85yqSKzJmn96NfP/DnznsKA/swpSgIInV7VqQs4A66OPtYQ4RKxVVLzte+uVOJtMiYBoOGoyR4iAkMtixBAY137hwCWGVmeY+4K21URpdyJLjplXJqEO2eqlDT4Qz01I/KoCE+N42QY95CpQMz1LFAt86/QA4oY3RuegZnFTo2gucOzh4k9yOPJPqQ0wtNze+lkrPTclUKJZxxUvQqZbMcCMFVxhe+XuBa6mBiVSpO/S6Ko2pM1HO3hFT+om5o73yQLeC9uP42+lOtaYa89lITDJwtAKbmVKev5dGI1qRFl2KmKuJ2f5o7jTxDCbo6AxKMNxKg8YpAHBzywWIQoXwxIK3Hzh6bwMBUPcBbt2H/WRpPoVUMPfSZZ2yb9bhPfTPFHRv/5gGECUQ7x6tOwnlb7G8xNQsFdsK9bhQZ1Xpr8eSkj1WDqwkpCV069v/fbpWaLE3+y1AlcYP4qT8V05F0hdunZbQIlDgM2D1AjP+NNhgz5P7Fz4ZmKD6w8EZUN1pi5TaRVifoDeZ+KVc5F2VR7FJQfaTgfMcSIFe9pkiX5ZxtGdMwOjqG9yFbqn3UlDFjPUoPlsp2kX4g7dp/VvgZawFzn7RBKfEoYeFCBSRwjMiDv+Tz1I7+MyR2tvGUBTCk2IQ1Sp11qedGt1KL7labp1Y/4Nn376BxwtVtvRTT+2yL+C0hTUL1DuxbQw96DIw5sFNaPqoZ/qzgyD7NOFcN4EDcAjr/hWDOoixuXLs/PIUCJjy+M19J2Bj6Zg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR0601MB5567.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015)(52116005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6QmeyHZFb1KQxXDMdQ80e2iXFpmjX4b79TUc3q9LtQQ6TByA3BjFAcLj8IUg43rItKT//MN8k4NezlukPx45xTsYO04N8ZomLixcGC/d9t7sY7ApBfHbT5vyGVDylf9UNMv0ZOMAEX6/9wdIis9RmL8mjtdlBg5vzHLGobq0ykpWUaL/56DYuQ42LZ0WNwTiQUI1aWGcrOJyn2AWv5ixPQHXj+z1l+Xr72RyDNmUeq4XA+PkbN+IFYjjC7XyfLCRqWKW2WCgW/3htSuw7W/CV6ZZD9HCtdtOWvOnrZK8NQxRg/mKUXspw2pxKnAgjR5sTcyzOvOKEtic7K1Xod532Bu4cLDKbwpWbP+xoC4pQgAoKDXL7fNAZ/MLAltM6ndLE2byfKE3nyoRWiIPuf1HU9AAxkl9sZyliioZvPN7e8zjA8yY+ws4DHEzcACeW8OG9T5mkzoi6K3owsT6n+jJnC4jw5kAiDkLxcviyFlYu3aqK/K4Ty/7AFrEsWD6fwNjR9P5j3hxCJhYcI0ePTdrO4oVaI77oKAlUcgPzk3KNo0AHb7qiV5JmAtveMXpsfdrF/zeTOeL6Q+fm3Ys4JjVzNuy1wenSgN+R4w43ug6F3Yc+pxB//fYYrl8S22pdLcHJ2vKa+TZklPUQPL/V/dPK7wkfV04Q9GXme03ENoLsm7Y2Hm7cwcwfxGlRojsotJh1KePUlX6/VS6T97wGe9CeRaxF+jO6mz+6I1+a/5BGzSlYmeiMlN1fwG+4NcEMd9gvZA5lQL2UNnkIk8YXgCKsmAgVswXYbU0+3dfM3Gz8OZBxwpZyaUYGca454qTt0i3ij5XyWG5MlQOcG+w37xYvjFEG9kOtc9KlA736TCCg6goowK6hzT9FnSbMBdBU70Tir9VWFMZBeZ01VKzOKHIAuoge3b33sRI5ACCw1M0XVyHqc62eU7CdkyYNEtqUxlPTDMRataXCwt4hlV2RB9MyKt2KnfbQHvH5ZAuX2uOmnX35mKDayJwlTGPjx0EUvIuwp3kHTt4+cLfSO9XXIStC+MhmKwIT6Z7nzAZKghqIsjzumqkIQEkuT/narkOpnYSJ4Qw2ELgc2AN1YeJ6r59TjU7zKVyXAFwxOCvwPp5d9IqgqkS6EswJtRTOdBW/olPLLfceGWQfCSEQvlZOIbTbC/Myv147IhleEuFFsTkXCrYgpZCPLI2LCCq1soQMcNQkI0/XfWay1Va3A6wCRyLcik+hi2cWh+R2NShcvnqHMyNPTsZhuCjdEZAFSDNHSsOvm18lyjx7pncQRqHhx48qSjLfPaDh08wkkC5O7qPEJwsLSgxD93GnJQF2hTrRU9Qw8D4vXTgeZ7tWIP49voD1jLS/ILkat7qKpPMNNxgai7dAgEY8UH2drl+Yg2/yJAw4A0aht6EIjBqemAGewj8V0sI/HKOk02Re+rrZGUIU183QdOIU/OlGnh11XUpDvWhYE1h7oJ5fQwQx0cqXrD+CVcGf7KS0CRsQCLReoU/v7jDmLZRjoD6/pfsS/inZCWZAgx62ZF4iDzHl5eCvDtob5xEQU9OZLU1F5DBLEsSkVzIWeb3PEF/BOIizGLKDPp6vfq6sjhtFSHL0YGBNm7dhw== X-OriginatorOrg: jaguarmicro.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8a9ecae-78d8-410f-aac2-08dc7f7ca478 X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB5567.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2024 01:14:09.3332 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 1e45a5c2-d3e1-46b3-a0e6-c5ebf6d8ba7b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ahQtTKqSKQ33nwrok26SSPrXmj9DYiEpesSqtU86WJZ8+p+iYvsctzR6FUkRrDJX7I9MXuitcT8HMzdpaIOKT2l7/oIVSGoIYs9gw/RK2JI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB6864 Subject: [ovs-dev] [PATCH v2] netdev-offload-dpdk: Support offload of set dscp action. 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: Sunyang Wu via dev From: Sunyang Wu Reply-To: Sunyang Wu Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Signed-off-by: Sunyang Wu --- lib/netdev-offload-dpdk.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 623005b1c..524942457 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -791,6 +791,17 @@ dump_flow_action(struct ds *s, struct ds *s_extra, ds_put_format(s, "port %"PRIu16" ", ntohs(set_tp->port)); } ds_put_cstr(s, "/ "); + } else if (actions->type == RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP || + actions->type == RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP) { + const struct rte_flow_action_set_dscp *set_dscp = actions->conf; + char *dirstr = actions->type == RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP + ? "set_ipv4_dscp " : "set_ipv6_dscp "; + + ds_put_cstr(s, dirstr); + if (set_dscp) { + ds_put_format(s, "dscp_value %d ", set_dscp->dscp); + } + ds_put_cstr(s, "/ "); } else if (actions->type == RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN) { const struct rte_flow_action_of_push_vlan *of_push_vlan = actions->conf; @@ -1835,7 +1846,10 @@ add_set_flow_action__(struct flow_actions *actions, if (is_all_zeros(mask, size)) { return 0; } - if (!is_all_ones(mask, size)) { + if (!is_all_ones(mask, size) && + /* set dscp need patial mask */ + attr != RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP && + attr != RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP) { VLOG_DBG_RL(&rl, "Partial mask is not supported"); return -1; } @@ -1912,6 +1926,7 @@ parse_set_actions(struct flow_actions *actions, add_set_flow_action(ipv4_src, RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC); add_set_flow_action(ipv4_dst, RTE_FLOW_ACTION_TYPE_SET_IPV4_DST); add_set_flow_action(ipv4_ttl, RTE_FLOW_ACTION_TYPE_SET_TTL); + add_set_flow_action(ipv4_tos, RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP); if (mask && !is_all_zeros(mask, sizeof *mask)) { VLOG_DBG_RL(&rl, "Unsupported IPv4 set action"); @@ -1924,6 +1939,8 @@ parse_set_actions(struct flow_actions *actions, add_set_flow_action(ipv6_src, RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC); add_set_flow_action(ipv6_dst, RTE_FLOW_ACTION_TYPE_SET_IPV6_DST); add_set_flow_action(ipv6_hlimit, RTE_FLOW_ACTION_TYPE_SET_TTL); + add_set_flow_action(ipv6_tclass, + RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP); if (mask && !is_all_zeros(mask, sizeof *mask)) { VLOG_DBG_RL(&rl, "Unsupported IPv6 set action");