From patchwork Sun May 26 08:43:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunyang Wu X-Patchwork-Id: 1939300 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=g469rnSW; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::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 4VnC3l1XnCz1ydW for ; Sun, 26 May 2024 18:43:31 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id E8D65605E3; Sun, 26 May 2024 08:43:28 +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 nTqUQaIPH1Sd; Sun, 26 May 2024 08:43:28 +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 smtp3.osuosl.org 9006B605BB Authentication-Results: smtp3.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=g469rnSW Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 9006B605BB; Sun, 26 May 2024 08:43:27 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 46149C0077; Sun, 26 May 2024 08:43:27 +0000 (UTC) X-Original-To: ovs-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 1FFA2C0037 for ; Sun, 26 May 2024 08:43:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 0BE7C40348 for ; Sun, 26 May 2024 08:43:25 +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 H1nRWKI3KU_z for ; Sun, 26 May 2024 08:43:23 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f400:feae::724; helo=apc01-psa-obe.outbound.protection.outlook.com; envelope-from=sunyang.wu@jaguarmicro.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 0DCFE4030C Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=jaguarmicro.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 0DCFE4030C Authentication-Results: smtp4.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=g469rnSW Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on20724.outbound.protection.outlook.com [IPv6:2a01:111:f400:feae::724]) by smtp4.osuosl.org (Postfix) with ESMTPS id 0DCFE4030C for ; Sun, 26 May 2024 08:43:21 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KY9L5r37RYDl7N/NUgQf8AUlr1HoSvfG1azSWDhG6kTCN4UYQLCEhRvfDeviYfXOAXXr6q6TMMZOIvBOBgMMbA7tCLRawu002kMrTZ/IVzTv2Ps5kkPZcXuWCXnxRqlH7F5/tnk5EFQFnV2sFLekwKd4I/bISB4RWV96yLJSnxYa3/qAiw+bwrHK1XsKsxOMI0dS91PRP3C6WhZ1WUio2dv4pe97/VyeestwJOVcpEL7f5ADP/E/VFlGGLYH4+F8Rl7+pY2YYhBl0I6BGJ3F7d4c+MUZzvgjOP4c4UWTPqShcH9mCr8f2wC+TAeAqgFnLM1wXQg37w/XeZOdBH0UMA== 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=QyDplDmY2/NEVXIt8abwwIDqOaXhdsY0ZXQBLcUaoA2bVOM0J+sw+2p+jgwJ8P7rdOsnKQ81M0Nc2kqjzpa/+hUlYw1XIizoK/QAEhTOS9lg8rE7+zcccjzMxImEADxECjxYkDS/A2AoYTHVoHv71/mRoFaKuSryWoUJKVMwh52sEqATw7tBkyqHAh7cbeIvSUPwWNCKHybnUZySZ3iaoNYklzxxSWMHKHgPoIAT2Y6Xn3T+sB4z5W7w1f+TjTrfkdejC0OUNAX4hvW0qmvSBt/4lljIVnTcVHIgzzf/CoHPSONzivGTrxGvFuQ/7EoKZMuO7GFO+5aCWIVrW5xCnw== 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=g469rnSWOdowzc9X7sAF9eAhs4dqoPTEpvCsKChZbntGslxnu4i4jDza4NBanrSNDqydgAPflkdeSNqwh74gZbKo4DU8AXsSwlEAM8XvfTe5rpOb1wiNqat50VRrdOnbmh3VwIwQkDvZdSDQ92eUjC/yfI6qkBrDAtNfaFoioqKzpcZaJgsPq5AlP/ikj8lbpeaJR9wCJHrN3aw3zhZ/0it7XmV+Z3syqVx22QN8nTIHWBF0DcYpdDQbnduYMmzMm7qCkrrYQRiWlKfrB0PdW4Qt7l47eBf6wXwaMkXZnIrU3UXdHk+4YAbOPjcoCPbi/WHtuTI4YU6QOsxKb3Jewg== 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 SG2PR06MB5384.apcprd06.prod.outlook.com (2603:1096:4:1db::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.28; Sun, 26 May 2024 08:43:17 +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.025; Sun, 26 May 2024 08:43:17 +0000 To: ovs-dev@openvswitch.org Date: Sun, 26 May 2024 16:43:16 +0800 Message-Id: <20240526084316.44848-1-sunyang.wu@jaguarmicro.com> X-Mailer: git-send-email 2.19.0.rc0.windows.1 X-ClientProxiedBy: SI2PR04CA0002.apcprd04.prod.outlook.com (2603:1096:4:197::17) To KL1PR0601MB5567.apcprd06.prod.outlook.com (2603:1096:820:c5::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR0601MB5567:EE_|SG2PR06MB5384:EE_ X-MS-Office365-Filtering-Correlation-Id: 682cfe85-1a5c-4312-cbff-08dc7d5fe380 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|1800799015|52116005|376005|38350700005; X-Microsoft-Antispam-Message-Info: T3cMw2NFqyqVlbcbEpIRc59iA8senAQKqgCHan/Y43bCe8U6aN0YQb181hOdMqB7iu/1EDRmeU7RsFb6sVwedPk9tWyCxx+xsnMmqn3yeAzG4mLIEXWlB3osdKK6EmlZ+6fI4mDoAV+aBVIT0OoXERJy06ukSNpW2q02AEBIO2udNQNs0p2D+rikYxoGRJWLPGHfO9rc2gkbT8tSsIFeiYbh/8C/mNrAKre3au/UcysaEP+0J0RTv2++j3lIKMPEOOgoDZYYJrz7119/5Ut4XpO+rkQ/7vu5ZXpz//ZUcgUaUNqFD67UOM66KE4UWPwsYjzeunpy7HiQG6hswJRhasoUyD+hmRj+VZny7Qv7B3/5+daZbPjokLbuOFGakp8fyXz2HkrjSBWBeEPAHQKR85UZRl2BaNRWlu1dDLAO16jdcss1fyz5xyS5PJQ+J4CB0+tUPVLvAuQOx/3WTYvSbrwvSfu2He5ZQ3oNHi33YMQ8f8xcZEdFaNOCBNoJKgtHBeTb2I6KU7NxvteIi0Q5WWiOyrPt1AqlfaYIdHpKrsKWWf1M0vRTOyYC+s8zT1LGUh7LeahSCpRRfhpiaQkmq8zC8/FGV28hd19rHVntRcKr43VG1SAmsL9jh9J6FY0gjjIlnu2myuWBs0kOVOfdDejF7FWWO9HGN1exZdZ3GYBGGj9V0Ly7n5Kztbux+cwq+C0zvLvsOW0SXHrlXYGO/+Jm6gRo0bNMXNFfaota4nBzEhbLVBKIfMaIhFAOAUyuAsnk9Gg061oKX0qg90l9r9dN5HD/UJgU0ub8hjX4zudigh8bU6Q6iFLrv1Ioc3Rv7uyIe3vIkykcTlYpdto0w886sZAy/I3XuGljV4c4cxFhvzIYbT9Tb4M7DdYc2ONF4N3TVKayBGnUMizI9GiQlU33WGZUHNVaGT2WWARkye59LTUutIbYupNBbc4fp4sIuqs6R4IjJNB3off4JyfO2KJQko7cM3Y342Fd5LrMuJeJhEAQEH/zdGdhVZ3Ww1YyjLFv/vzc4EpllXKoUcqv+me73KH73VqZCr55ilzePkc3s7Hndirth8/vt8FM9YhPXx6nlRqhJotMFVpolCafFBUbkN4dypHGfJ4xNmlLQ0+Q3VgxiZ8OxlrW3kqIBra+u+ot19QtEXmpHdIcMvD7wEwgihWJMFl+oYHmtrNNMtXEppfj8RB8SUiOdyIXtng+mEB3/QR7hP+FoYYWVbXKRdO3FIx6IFFF1lJab49aOgtKnzTif4v5QdDMTiYFg4HFM58z5eoTaUtoGc6oSDc4EwVKcmf01go/OpOXRt+z4wREybg0poExp28wMC8+zKpCeoOtv/e8/Yj5uzTMsvhVRw== 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)(1800799015)(52116005)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1CEWL+6ZSKj5aSN62NlEJzKYeK0uWZVuelcVNm8o6wukX0h1A72FQmLVfl6dNstCwjv+Orf0gNRbA9Zg7GHvzR+qlE3gzdRO7JtpAwRR7SQ0m5ZQPL/3P1szXLnwDMMYqDVP5Tj9OEbjQJcRNpKNFV8sXsLZqoB56Wz2X/LO5YBoqTYad0Xh7ahhLzkS2aqj+7/U36sZKq70QSh0eotJBcs59L/0pB6qqw8+5I9zGCmIk3Z4FlzqXgVw2p8GQyAsJOXZ+o8DSDR3NPF5rYix1iFz+MAov2sYSNaKxat9snI/oyfTgZrh52ddRyk1BZn85lML+j7aM+q26zrjzjaQweX0gapXbBUKTg2PMuqTyx1C2Srm45XVgXiaasEC1XFtzH2BKI3Si7Z/XzhvG2t3al1nvzoCcnkVFuwm/OtgwRE6ru73uASnIOSAg7vz+YQgPhfeMYZYwWZOYg2RJqNCe6MKHep+aqNV6k6xH/Trq8FYTWpvAt1SkLl4lx058kozhkLl1KadxEMHEj7typ1oJNO/kYazdS9k9sJUWE68I0CgctAWQLu9l2DG6reHfd8v9SGX3+VJlWOc21P+GKKqR96SyOdIhMhXAxQW6GCeFCrz7Lwwei8160Tcu4MiyU4VI5UYz3Lj6jTJFuXJcFSqw3BzFRfASxUQLDYW+imq3Jc78oYzySfnA31/q4+x99hcimjRSik6FSU8fqZiV+sSj4gLcp0demkF/ShQNs9YGQKrRt6ufQwk5J9oWgNBno61gCSLm0oDlxWcDCZ2iXSai2BxzyxNiMk5v48X6UmesNgoChLXYkWBwe+GeaubSQMhZcxyvmcFcVhjKPhE4H13WZQy/KCfDU5OfZlx6hCU5z1Dkc3Do1s0QaWBD5RVoC5sYqqizK2MPxRBaW8lrBJR7YIprZktJphmpk+LAMIYTzjVxoQhXy57xK4uFbAOiywuwTr2E3AWGuGSSq/ElbuTsmzuCHIOxA84tWSqLjIwxMRYE0mn36OtiwozcmOfu2VsQgI9Ur0iDn2bWkaAt7eQz1arPdZDDOUIi95+D7GFCm3Jn0fgiyxkTJg7xvsITjkU2Uwct23jdSyS+3I3SJOTxC0JBiDz7jPEWOOSzIQMLZK6deGcR5iCd42pbzZr+Z9KAH8kvqgzaWCeFYCnE3/BGRL4T/+Aun+TCXBzjm+E07EFsyGOderDSC+66kSfeOK5IaJrvbEEmKkIobip3v/APZha6fMxsEIRRar1gsFLamv3pQ3WfeUu4hhVxHC9boyRCeXw36bR0JOlN3i4BT1UkMqRYJ+XA8XTe9OeoBAb3ZJcuFvMrczQWnpPKJKIFqqvtMKFG9pmndftf5M0yZl7RBZbUxWFyBTS/F9FHC/vrN1quL6Mbybn7DaFYwDiLZtCjIo8BqQD4scSw6Dm+3B0FqFiEBeU8ZJq1I9e1+fLgsTwGY5IbzsglpwMtv6fYqzy24p72x9T2/M+CBNMqCIWu3O/sRsY34wgxYxJ2WoTz1IaxQ7/4Z3aVn8CS/XR7s/Swc2DS/36ghLHyxNW0Hfvqrnut6lSjHdSsEMAGSiDtufV7ucHhfxfV+YFh73t3talKfV8iHftm+MB+IVCWn972g== X-OriginatorOrg: jaguarmicro.com X-MS-Exchange-CrossTenant-Network-Message-Id: 682cfe85-1a5c-4312-cbff-08dc7d5fe380 X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB5567.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2024 08:43:17.3153 (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: IljXSVmigzEij6qmfvXVgqUsLZIlSKGKVyLpLHbjCRdnWGN0eEK85SM+NKpRUjJimkwDY0rue7q37SF5T/Ad6SwRtZF3DUtgQ50qsbFBCkw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB5384 Subject: [ovs-dev] [PATCH] 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");