From patchwork Thu Dec 14 06:52:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 32254 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 501C37CEF; Thu, 14 Dec 2017 07:55:41 +0100 (CET) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0078.outbound.protection.outlook.com [104.47.40.78]) by dpdk.org (Postfix) with ESMTP id 55C752C3F for ; Thu, 14 Dec 2017 07:55:39 +0100 (CET) Received: from CY4PR03CA0010.namprd03.prod.outlook.com (10.168.162.20) by MWHPR03MB2702.namprd03.prod.outlook.com (10.168.207.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Thu, 14 Dec 2017 06:55:37 +0000 Received: from BN1BFFO11FD027.protection.gbl (2a01:111:f400:7c10::1:175) by CY4PR03CA0010.outlook.office365.com (2603:10b6:903:33::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Thu, 14 Dec 2017 06:55:37 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; NXP1.onmicrosoft.com; dkim=none (message not signed) header.d=none;NXP1.onmicrosoft.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD027.mail.protection.outlook.com (10.58.144.90) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.282.5 via Frontend Transport; Thu, 14 Dec 2017 06:55:29 +0000 Received: from netperf2.ap.freescale.net ([10.232.133.164]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vBE6tXFb003507; Wed, 13 Dec 2017 23:55:34 -0700 From: Akhil Goyal To: CC: , , , , Akhil Goyal Date: Thu, 14 Dec 2017 12:22:02 +0530 Message-ID: <20171214065202.9128-1-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131577081296391428; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(7966004)(336005)(39380400002)(376002)(39860400002)(346002)(396003)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(2351001)(53936002)(106466001)(105606002)(4326008)(54906003)(498600001)(305945005)(8676002)(8936002)(16586007)(47776003)(81166006)(81156014)(1076002)(50466002)(316002)(36756003)(77096006)(50226002)(48376002)(296002)(51416003)(68736007)(5660300001)(86362001)(2906002)(85426001)(356003)(575784001)(8656006)(97736004)(6916009)(6666003)(104016004); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2702; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD027; 1:/cGFzl2rpcFVkfJ7buD4CDqmffPAJlFgIOOL9qLvGNRQw+pEcaN3aAw/wBZ7lMsX+/kcd2LpEGjOTjISJPEJbvgM64IYCfL0GdAoEpR+2UwM550yycgVulYt1iQGrTkX MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c5b0d7bb-827c-4b00-0d04-08d542bfa9b8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307); SRVR:MWHPR03MB2702; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 3:SCDLeKx0Nnud13PWnAHzyIrflaG0ldAuemI41ny6kO6cm1CAY2+wJcIDdGyBGXovOx3AvCIjUfqWYFexyiTv3UIUP9aJaBztk4rq6kjWM5Iri5FF2X5gE9TlUZFG37gYAvleMIQkTtgFwLfkJ9HVuX6aYjVYGXS+eJbyqW9Czkrc8lp7lOMbaUDlbAK7fz1lAOFlLpsXktEVLIF+fXeDiDtIHAlHhPPEuMdhgSPC/I05ZAbEZtlNqnnc61YPm0pV3IEyx1UC2vZ5lmeORMzRsVPH7orMJb/Dk6FxcGm8iwv6uSWbepWrTpevfZHhqjOKeuspPcV1Rb65g8J4kWwMp2wHOQmqP7kt6KRLPiYzGZY=; 25:7PSc+L5HL4HEBk0UiEaJyfXQ61V3n5eGKRAaDuzpLOXTmMPFzinrtbg3zoJNaF7jeDD7f7mz2Ex+riV/vP4qKQ2t7/7RnfOBzcdSQ1ZNdO/3sN4RkTZD4AE0vLvnsr8zcqOyVpYR9dldw/x5Qv8Xrtqj3KIjWGVSAAkRG6mpRYbtEbp56z7vDHxr/ETT53P8x7dqLGzOEUPO5Cb+uDOWMe1HLqgfNgeCyXFAcf2PJG9hwq+vT5+B+Bj6Wai3Jd2W0QoJyHG2HMSOKCuxWdiGt7oLLUHJ7STV0ldYjigH3mARQs9M8bB1JYEGKsxeOW0uOWv8KWSx95gsVVA9ZvEsfA== X-MS-TrafficTypeDiagnostic: MWHPR03MB2702: X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 31:ythifS9wmS7NMTEbtjw3jQGPZGl7Hl0eAaT41H94uo625QHBtUO7djKjMVizgbGCbuFqd6nDqJUdUmU44oHNPjSCx3g7f9flOWWf9bQSJy/AaI5QWfBmUg/GOnddDukwExWT59I9dbfswp2oii+RogL5YhWWQPSk7vuJCYWTCNhfJDNSn1E/YEr1/v44gv2bUsVQYKWMQSgjYM/11w9ztfYu9XvWaqxWv0J9YOGf9oA=; 4:FopqH8Gsxf5BMt/AwM3jrBH8tTpJ1muc1u25tasHWnVn+YYAV77S2y37mdh19RKYkVWB76PM1+I27YLwfhMCQEnjq1rqsIgENgAFadek5ak3Di8hm5dYp84FNPtlsTjsuUedBEpMYbF90q3t3E0D6hjVRMa0UtQD8c68A49pVVF6BpnyAQyeLTEBZy5oqD3iIL8r1fYvAkHv3PxD2Vz+R7U4t50xCQwAn9+ScxUM0Z8OGM7JSryTarO5Z281ZtTn/eL7x2o1e1yhCc4Uo5QjIacI+pBkOu48CBkmaw0zNbK7koPnhyP9k9sPT/psoF9r X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231023)(6055026)(6096035)(20161123561025)(20161123563025)(20161123565025)(20161123556025)(20161123559100)(201703131430075)(201703131520075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(201708071742011); SRVR:MWHPR03MB2702; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:MWHPR03MB2702; X-Forefront-PRVS: 05214FD68E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2702; 23:y5ofxrU/wMUajeQLU+S7+MfKBEnjBoc+gQNzK2x04?= mDmIkDxjccDXF9nt5d1DbGcHGOm0unNOoXiFmWxgMV2zsw8m5/AO6DECO+zZRwM8STsQ4AX/Ax1Bhu0+4frY6h7toPtXcxY/s2mT6KuX7jnBlk92AAvkgungCY54SuNMv5hzVy+KIUBsSYzpIXhyovu9zeh1NFE/CGSQQtluzN+5J4NRvOwMj4TuRLZHDi729o1tohmo9ve87A08B+YKrTbREiXyOP2U/j0gIQysRg/urMYhJ3tsk9Azs3DUxVhlJJWPxKmstHMYrR5B3DE7ihFA5Kux4kqUAXxBbsR/XF2r06z3Zf9XTeL/KwZO94pAaoe8DhMBvFwl3M+30PccLB4SCvn+AbYyMFAktcTZUCkYHQz3XkIRx1FweeEkT+69Ln6Yyq5R1B+F9fCIUi1fbAPnETE9yX1fJT+ihUSQODq1hljn57a7mH5k68vVkKxqYvi3gf0c6QHaUVrIk02H3aoM9tBo9UOS+1QHwqm2xLJYy9xq572KMcuhOzPulladdppVC296kvSC6oIRH2b8tyIY52usedGxdk6uWSSV9ymRoz2/usRnFhC198VbZ51PhUDztTx39zxOrGNiJGoXqX/VCqqQcIFXzz+Pori49Me/Ly5b1BNTxXkuIuemZEv9ZWw/Y1Id9zQ3GbJ9DTMvms3iA9GMkgT8+UCHCvMmjpi2Q1/IwhcpFY+t1BY3W7h8l0cUL7/n/BDcHclgej6WnlYBUAs7ge3UVj0yQlFojFapc+c0eW9kc3lezMt8ShZIXMl8oup3e0PV0RfErSmc5Bp5f3PmxX4jdnKSffPLG2X3k5eKwC3h9Gp3N/8Q2nUWkUvaVxKV21jSdAYdJB3s3rSFnLNxmtjWl9eZReKuohwMCZGwQdTUKNF6X0ZAucrv42Ph6IdUoi/vkoHZm/WxGBuWlM/eq2CjlCPQ+F3PtSIvK6n9yRsTchGsfRIiyPXtqidZoNSOd9p2S/geFnXUTLYW/zyEnCJjvWa3E+jWCQ9TfwAfvED57PNV9nEDocDfnF9edTWSlraLUEFJLfWUfdVYljnN/tCL88yfcJOky7zPWo1gBoqiqB5SuMsTeEeI2c= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 6:ZiUseckWiH3JQGCNfT2EdDn1UfOsLDDPUb4EFQGcxbJ1qyVN0s4/3KKhwOkYvRjPG8gJpqAKUML8cUAd3wVwmfxApYqRRBCGG0mxGodAxbO8IBkzMqy/5OPnAEfhg56eLlwCib2xsktUueGNDL/jwpLSWsgjAupANPnCswRK8qFlfBseUNQW7ZkILG0GA0LL6xloMUfLM4qElp5IoZDjDAK442AK5HbKN6oJavinxrfpIDy+FCzAuBraAirq6h8GvZDhJgDBM0haxoM00YtG/8CEelFnEluszckC9lxMf0aHbS8SxS6bLUeq2ABrCeJ26qTmqrF2LXGn/nMTGp/T2kTKuGgCxIQpSb8w0OQDcJg=; 5:CacY1opHscln1OPjmBdBuEhgQg4CyW2IJKreIHkq4qaL26vxFk38ZGZGw38y71hJvdRkLpF3wknab9Kaqy3Lvjklxw8EEzYxowL+PjN4NkI5053815i6PfQrBtAibKiDcHJKLZBGVQA98rhbIgbJIsHn8rgf6DZlnArFkXA3Bfg=; 24:Vw6lEFjT7h9ytrTtdQzCMWdmD9qmGidaNpCf/shJU8P3A4gwB14ihMjsfgQKbrqHpThJCTKWhFiwXf/hnKa0QG+oa37nHgeWPUMbG7YT3t0=; 7:lQmzZPCvT/MLuobG3g31lxLve5uDbM1b7CsGnjGlj8FgOHU2T6ovkXGdPfiVkT18XvDhaBcANxfo9S7Of0FjLrWKgivVrNjsSsVPk7qsiJ0Pzog8AqDBzFVqOgfxpvIKgqUi4bZaLUaK//3Syd6fYGVGqa82D/pQhrNYkDO4ldNyA99GIf1DsWjANxQmD1/gGgPhbduu8UygHRqc9v10wkr2MpxpZ4PtvJAXoF2HzLGrEkqIaAKVJeJJQtWUjJpj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2017 06:55:29.4519 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5b0d7bb-827c-4b00-0d04-08d542bfa9b8 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2702 Subject: [dpdk-dev] [PATCH] examples/ipsec-secgw: add cryptodev mask option X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Previously, ipsec-secgw application did not give user the flexibility to decide which crypto device(s) will be used. In this patch, a new cryptodev_mask option is added to the application. Same as portmask, the cryptodev_mask avails the user to mask out the unwanted crypto devices in the system. This patch is similar to the support added in l2fwd-crypto (d2797f51cc63: examples/l2fwd-crypto: add cryptodev mask option) Signed-off-by: Akhil Goyal Acked-by: Pablo de Lara --- examples/ipsec-secgw/ipsec-secgw.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index c98454a..dd0c7d1 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -89,6 +89,7 @@ #define OPTION_CONFIG "config" #define OPTION_SINGLE_SA "single-sa" +#define OPTION_CRYPTODEV_MASK "cryptodev_mask" #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */ @@ -154,6 +155,7 @@ struct ethaddr_info ethaddr_tbl[RTE_MAX_ETHPORTS] = { /* mask of enabled ports */ static uint32_t enabled_port_mask; +static uint64_t enabled_cryptodev_mask = UINT64_MAX; static uint32_t unprotected_port_mask; static int32_t promiscuous_on = 1; static int32_t numa_on = 1; /**< NUMA is enabled by default. */ @@ -848,6 +850,8 @@ print_usage(const char *prgname) "rx queues configuration\n" " --single-sa SAIDX: use single SA index for outbound, " "bypassing the SP\n" + " --cryptodev_mask MASK: hexadecimal bitmask of the " + "crypto devices to configure\n" " -f CONFIG_FILE: Configuration file path\n", prgname); } @@ -962,6 +966,14 @@ parse_args_long_options(struct option *lgopts, int32_t option_index) } } + if (__STRNCMP(optname, OPTION_CRYPTODEV_MASK)) { + ret = parse_portmask(optarg); + if (ret != -1) { + enabled_cryptodev_mask = ret; + ret = 0; + } + } + return ret; } #undef __STRNCMP @@ -976,6 +988,7 @@ parse_args(int32_t argc, char **argv) static struct option lgopts[] = { {OPTION_CONFIG, 1, 0, 0}, {OPTION_SINGLE_SA, 1, 0, 0}, + {OPTION_CRYPTODEV_MASK, 1, 0, 0}, {NULL, 0, 0, 0} }; int32_t f_present = 0; @@ -1238,6 +1251,16 @@ add_cdev_mapping(struct rte_cryptodev_info *dev_info, uint16_t cdev_id, return ret; } +/* Check if the device is enabled by cryptodev_mask */ +static int +check_cryptodev_mask(uint8_t cdev_id) +{ + if (enabled_cryptodev_mask & (1 << cdev_id)) + return 0; + + return -1; +} + static int32_t cryptodevs_init(void) { @@ -1275,10 +1298,12 @@ cryptodevs_init(void) } idx = 0; - /* Start from last cdev id to give HW priority */ - for (cdev_id = rte_cryptodev_count() - 1; cdev_id >= 0; cdev_id--) { + for (cdev_id = 0; cdev_id < rte_cryptodev_count(); cdev_id++) { struct rte_cryptodev_info cdev_info; + if (check_cryptodev_mask((uint8_t)cdev_id)) + continue; + rte_cryptodev_info_get(cdev_id, &cdev_info); if (nb_lcore_params > cdev_info.max_nb_queue_pairs)