From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BF706A0560; Tue, 18 Oct 2022 05:14:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 38AC842B8B; Tue, 18 Oct 2022 05:13:23 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2121.outbound.protection.outlook.com [40.107.220.121]) by mails.dpdk.org (Postfix) with ESMTP id A5E7442B94 for ; Tue, 18 Oct 2022 05:13:21 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LE0T/TWTUKfkULcxXHkEvTboRDU3cu6kw9TWRK8Grq1XNzGW505/e6JP21O+4Flok+lsq5X0o6W8tCtncC0WAwQeLaX8kF8rRziXDaMIydalFUiYD22YATc825tQcX1uuYK7yLk32u26Yv1w2tMUPM9OdFK3LiEs9sHYlbP7KU1yXOUitAthgFiI4Fx9Pn7uuxai5Q4WJSt9n8dHltSWZhEKzC6HZDdca7iet+D+MYJQqIvipE5opQdz+oVwoXFQlqF4NIBBk+kEaIi6BxqPu5k4EpoXd04w3I6PIWyxkw6+V88M8vpAj9QWuIH+5IZunEEtWoX29wIUCWv2ohDG/w== 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=AVt/ltyYISRrZdUGJvnY7N3Uj4Jg6Ige7EhD6jeD69k=; b=mg51QpKfY4O7UMR1tC6MMOUpCrXVxCP8ZLWqpO7a70Ve4AqHJqwFJ17ye7atdcQ4ZqPG5Kj6wJ97B+7eAqniYlegzEc2MbXRynGagCthezZwai64vCzCOmvgMzbY6jo4zwdo34sDiFJJux0C6Gs92WIPv2OH8MqVw4pyPTwJrTJm5T+8Hi/iVHDS/3UZiF6KswXyGLczH+OSQigGAbl4Y6IKh5tiqIsdb9uHLyVdQ5GsDl7wMdoLeUmkiCx2iSh11HIyD6SIM0tSyHTUfz4+OC7Z02jMgjQlcwlE0ymdJ5C5DGhDBvF/8LiAtrnySxMNxx6d4IKHEyTIomykHim1fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AVt/ltyYISRrZdUGJvnY7N3Uj4Jg6Ige7EhD6jeD69k=; b=m0vwX9aWMO8tNUqM9mUiamSywXpWSpYCQeC9xIlRUOCA4hRPeymeXp5p5rkpAOJtVCEzHnhWy+i1yWWQRCdXnskFD2QEjRCtI+1V64+jHRgRuXJ4xJUMuuByhTDiytx1eGVGp7itfYriNAW8RKCCKii/XzMnMUiDcBY7269U944= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by DM6PR13MB3865.namprd13.prod.outlook.com (2603:10b6:5:1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.20; Tue, 18 Oct 2022 03:13:20 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7c26:1a0b:2825:6f4b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7c26:1a0b:2825:6f4b%4]) with mapi id 15.20.5723.014; Tue, 18 Oct 2022 03:13:19 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v3 15/25] net/nfp: add the offload support of pop VLAN action Date: Tue, 18 Oct 2022 11:12:22 +0800 Message-Id: <1666062752-33689-16-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1666062752-33689-1-git-send-email-chaoyong.he@corigine.com> References: <1666062752-33689-1-git-send-email-chaoyong.he@corigine.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SI1PR02CA0010.apcprd02.prod.outlook.com (2603:1096:4:1f7::17) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|DM6PR13MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: 1da212b6-2a83-4504-1bd7-08dab0b6b4cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +LG9A9IJ1wjEvEW3FlJYLpPCSVxq39uH+2u1KrDAccCLp9NRmcQ8Ke3GK5KS49evu2HUpNEyvsnN9zoLX2vinhOpnP30C2WkjZTLxTGel4MZ5jGKhfsSK1hU4d42WE1/TXNc+xKnUNWBAvpdenhgt0hxuGim7HFIafEXWFhfsgy1QEX0c0czoSDr/sLsjdEXKSyHQqBSDSJugABCw00SyXQGFkq1nZspLCejokPbCIu8VUd+hs1Yv9i+rSra+m2jvrJFy+vrjQeQ57neMHtyIKr1qOTuVrotwKra+kCikqNAKSF7QyMTRj3vBXpJNxl/70exSEuzD+EYNik0+NGfaZ7cfDeEobhaYsSimOvO0nAKQC5k408CCll6Dy1O9+foQw/HuB5WcXiiXNihMEahmait+O+K0JBUba2jhu8iDsVr/Gaz0p2tf8a/RW81tJyfyygvO2aH2TNwMd16lYweW6KE0tHtorGHJvMtSzZ+c1phQVfkjYmfX5HuRB793I1flHHQ3x4QszY6oM0+2b67wt8UJwLNVhYuKqwPsAIxcijw8RmkJzBLmBz4rz7w0RQ+0q4rsTtlhqJLJb1ZwjpZ5CwgmtuDKGlW2t0+a2HBqS9JcF9o/Fmjihmaft1hwVFLepIiqTxRPh32I9+b2KHu//P1yYNKw7LQwSy9AEHKG/WjTuUq1Utxiro8B4//92nfZjo3Y0o8xYCX4IIWtTRbfCxresaVfX9AqptQjhJeqK+TiT4F4c71leNSW4w+HydCpyhXM76KH2uz0LXhLrLpvQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39830400003)(376002)(366004)(136003)(346002)(396003)(451199015)(66476007)(6916009)(36756003)(2906002)(8676002)(86362001)(38100700002)(38350700002)(44832011)(186003)(41300700001)(66946007)(66556008)(8936002)(6512007)(26005)(52116002)(6666004)(107886003)(6506007)(5660300002)(316002)(4326008)(2616005)(83380400001)(6486002)(478600001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bGFrLy9BMkQzdnVMb2dkWWRlZFpMRC9HTnBVLzJxYkNwMCs1bXNjZVhnY002?= =?utf-8?B?Nzh3cnhEVmV6a0dRVGRPaTNNMnF3MGRQMGdOcS9mNWxWQllDQUl4d3ZreHAv?= =?utf-8?B?UUVyc0x2RGZSRjJPNlp5QTl6QjRZcy9CbE5vK0ZtTVRMQTQzS0d5US9DZC9j?= =?utf-8?B?SDhIKytJR0x1UnloRkd0c2Frc3c2K3E5WndMeFFNVEw2clJoSUE1N2ZLdXdp?= =?utf-8?B?M3BjRnVvcHNvMy9zNElkM3FNU25TcmZjbXRBTERpL3VkS0g5RDlyQisyazVj?= =?utf-8?B?dVA0akluR0QrOGhhZUV0cUpUWWZNOE1WRGVaaFU1WVR0OFhUaFVrRG1zRWZW?= =?utf-8?B?MzA3aHVJeE9OdEtwU2pTbUI5MXJxbVdkY3BxMUdGTU9yOWk2cFIyN1VBclNZ?= =?utf-8?B?VWcybVgwYTZab2VCY2o5dkt3dm0xVjRqdlJmZmphWS8vZlRQTXVhT3NLWEwy?= =?utf-8?B?b2UvZjVDZ0hMaXRPYzRGd1g4SStaTkM4ZE9aK1ZYQ0NCd3JjcjlMeXdpcWhT?= =?utf-8?B?RHV5Y2RFVGU2UWt3YkZyTHlRT1o2VEhjTExuK1duWWd4OUsyUitmalRxZi96?= =?utf-8?B?WGNDeWtiWjA5Z0FXbVc5b3haYXBnbnJ3dGdYdWpaUFhENGp1YXlDZ3VIOTB3?= =?utf-8?B?aWR5OGlOUlF3bjFLNkFJRm9HMGFLaG5HcERjd3R1RjVjOCtpakpLdXVEQ0Yy?= =?utf-8?B?UXFXRldPQmppQjQyYWxGakcxaWRjcTFXQkRzRnhIMzgrS1VrYlBacXpFcXZ3?= =?utf-8?B?T2o5LzFyVUtGUDN4STdKTkZyOXh6S1drSUJ0KzV5WSs1N08xUkVkVTk4MzdJ?= =?utf-8?B?ZnMvaTNUbit0QWlVbGRmaktXZGZBbW9Fd0dnbnlhbEtBYTVqemxXUFkwczFI?= =?utf-8?B?OXVRUUQ0eUtQK1F3eVBPcURQV3htb1QyZnlGUHlIN25GcFlEWHQ2TEJJR2NF?= =?utf-8?B?MEI3Q20rcGV4NjE1NFNsbFBHTDkrOUFnQ2VSeTVkeHV5TWNWOUptTjJBM01R?= =?utf-8?B?NWhXNUtjdXJXV1FFS1lCN0JMVnhoaFZxanpXQUJHeVBzejhPQ09LTmYrMEZG?= =?utf-8?B?Wm1EQ3duaXU2dTZ1OHFKRVI3WWQ4bjFkTGxKVU1jd3FRZFJQaGlBWDlsVUxz?= =?utf-8?B?NE9JVFdlVUxsblVPdjY0NXJtK2I1Z3lYWUxsR0ZCYkxrNGtyNmp2cWVBNlIr?= =?utf-8?B?WHZGWndPN25HQnhPRnNDTEhBUWtxY2tMQS91Qm5neVIraTlURGxva0NwUjZK?= =?utf-8?B?RXR2THhTRUFWVDNIdVJZbEFFUWI4ZEhvUEtwaWk1QjN0TEFLc1dTemlKZURL?= =?utf-8?B?YWoyUFg2N0wxYjNpMjB4bW1NZENWbi9HRUpzb0VFMHM2R2JseWF4bitSZDZ2?= =?utf-8?B?cmJhWlRwYWhTVGNVY0cyY3QrMkpEU3ZLNWZOR0hTODJBWVZLR3VRU3MxT1R1?= =?utf-8?B?RW4zcCtqSnJ5dlFSRDJaRThPTW5UTXJBU2RtY0g1NHEwWVI2TTBuamFpSVQw?= =?utf-8?B?RjZsdDFmQUM3MVhLYjFJVHVjK3ZjYlBkam1zS2J0eW1CYXVaVmU4czFXRUMy?= =?utf-8?B?ZHB3dTlxUWFuK0UvUk9mSmtWa1AvNG5yMmlaZTh2ekZOdmhKTVhXL0I1bHBX?= =?utf-8?B?VU5GQU04R2N2MkhNM1FNTHUrK0Q4ZE9XSHlIczZPWFBtUHVXQW44U3pJN1Zq?= =?utf-8?B?S0tXcXdFc2JWOHplVnkwcmFodVl3eDFUM0ErYzFWK29NQWt5V3lMUm5rWWpU?= =?utf-8?B?YXlJTWVTRHNVKzM0WlZoQ1JCZ3orM2cwZlNZS0xxK204bG9uVDBKMDRSZDJI?= =?utf-8?B?eHdBVEErbDBzZXVpVUo2NFVNZnloVncySHo3S1ozdEdlUEMvNGJHd2dxNDFM?= =?utf-8?B?bUlEclMrMG0xOHY4czdSU08xSHI1T0RGa1dVRkNPUXBnamp0WG9VK2pBbzkx?= =?utf-8?B?R3N1L0YwNXQ5dzh1TjdQRXlXbUY2bkpVWWRNVWRiOXBuY0x0RjduNTdTMW5a?= =?utf-8?B?dThHc1djSFkreS9JdDU2ZGFGeWtxb1lxbFdHeGNCenE3ZkQ2M00zRzNkTUsy?= =?utf-8?B?RlF4alhtTU95eENBeFc4VURrL25zOXRUaFhRVVFHdjFSaGEvZkQ1SmhGM3Rp?= =?utf-8?B?ZHR2M1BMNWxhVjZLZ1FTTlFrOE5Nc2gycG9iblRYKysxb3pWYlRpR21ObFh1?= =?utf-8?B?b3c9PQ==?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1da212b6-2a83-4504-1bd7-08dab0b6b4cb X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2022 03:13:19.3073 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2SKhYC7DQS3dvfalo5d7m3kcVaVqxSPtdwYNp5pITIn9gGxMfUCq3DT3tdT7X3IgVPP/axF376cGA8FyVyqBrLOMeCVrvb5V+xoEUyFuVwA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB3865 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add the corresponding data structure and logics, to support the offload of pop_vlan action. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- doc/guides/nics/features/nfp.ini | 1 + drivers/net/nfp/flower/nfp_flower_cmsg.h | 5 +++++ drivers/net/nfp/nfp_flow.c | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/doc/guides/nics/features/nfp.ini b/doc/guides/nics/features/nfp.ini index 578c35e..95d1779 100644 --- a/doc/guides/nics/features/nfp.ini +++ b/doc/guides/nics/features/nfp.ini @@ -41,6 +41,7 @@ vlan = Y count = Y dec_ttl = Y drop = Y +of_pop_vlan = Y port_id = Y set_mac_dst = Y set_mac_src = Y diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.h b/drivers/net/nfp/flower/nfp_flower_cmsg.h index b61342e..4ce03da 100644 --- a/drivers/net/nfp/flower/nfp_flower_cmsg.h +++ b/drivers/net/nfp/flower/nfp_flower_cmsg.h @@ -362,6 +362,11 @@ struct nfp_fl_act_set_eth { uint8_t eth_addr[RTE_ETHER_ADDR_LEN * 2]; }; +struct nfp_fl_act_pop_vlan { + struct nfp_fl_act_head head; + rte_be16_t reserved; +}; + int nfp_flower_cmsg_mac_repr(struct nfp_app_fw_flower *app_fw_flower); int nfp_flower_cmsg_repr_reify(struct nfp_app_fw_flower *app_fw_flower, struct nfp_flower_representor *repr); diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c index c9f0064..123ab5f 100644 --- a/drivers/net/nfp/nfp_flow.c +++ b/drivers/net/nfp/nfp_flow.c @@ -618,6 +618,10 @@ struct nfp_mask_id_entry { mac_set_flag = true; } break; + case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN: + PMD_DRV_LOG(DEBUG, "RTE_FLOW_ACTION_TYPE_OF_POP_VLAN detected"); + key_ls->act_size += sizeof(struct nfp_fl_act_pop_vlan); + break; default: PMD_DRV_LOG(ERR, "Action type %d not supported.", action->type); return -ENOTSUP; @@ -1266,6 +1270,22 @@ struct nfp_mask_id_entry { } } +static void +nfp_flow_action_pop_vlan(char *act_data, + struct nfp_fl_rule_metadata *nfp_flow_meta) +{ + size_t act_size; + struct nfp_fl_act_pop_vlan *pop_vlan; + + act_size = sizeof(struct nfp_fl_act_pop_vlan); + pop_vlan = (struct nfp_fl_act_pop_vlan *)act_data; + pop_vlan->head.jump_id = NFP_FL_ACTION_OPCODE_POP_VLAN; + pop_vlan->head.len_lw = act_size >> NFP_FL_LW_SIZ; + pop_vlan->reserved = 0; + + nfp_flow_meta->shortcut = rte_cpu_to_be_32(NFP_FL_SC_ACT_POPV); +} + static int nfp_flow_compile_action(__rte_unused struct nfp_flower_representor *representor, const struct rte_flow_action actions[], @@ -1328,6 +1348,11 @@ struct nfp_mask_id_entry { mac_set_flag = true; } break; + case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN: + PMD_DRV_LOG(DEBUG, "Process RTE_FLOW_ACTION_TYPE_OF_POP_VLAN"); + nfp_flow_action_pop_vlan(position, nfp_flow_meta); + position += sizeof(struct nfp_fl_act_pop_vlan); + break; default: PMD_DRV_LOG(ERR, "Unsupported action type: %d", action->type); return -ENOTSUP; -- 1.8.3.1