From patchwork Wed Jul 25 09:49:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 142851 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp602292ljj; Wed, 25 Jul 2018 02:51:33 -0700 (PDT) X-Google-Smtp-Source: AAOMgpd8ENFR6KbgndDnKQLHo5/1LRjT+sfeNiTp9jxxwUkNW7Pu1d5fZq203CVxbSXjqBW3NPbj X-Received: by 2002:adf:e24d:: with SMTP id n13-v6mr14319152wri.205.1532512293329; Wed, 25 Jul 2018 02:51:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532512293; cv=none; d=google.com; s=arc-20160816; b=RPJN+twbc3apqKLk2h/FwoDBmx17Btwzg85Fgrp3bOpfSucxv6Fq7XBgAVowSMWm9D zkzYaTtYFa/hSxgEW04POwaTdcvPfDMa4u8T+C74CPAtytuMuRBOfrJhTffsBqFq9GHl JjgcrzDWtSK3L0bTiysOJL6z89wN89IDg7Mi5VCbydQ+db5PmNHkGMt2xKtPwp9bWwLy DE/hSs3/Is1f/mczBVDW8F0u2rv34dkEX3w5Mx0vpb7bA+X4vMfyyxBv9B6tQI4qTQRZ ADCRGO5EGw7U2+0+iYWpIhiVrEahOjqVf1dgdzHwynwjUd+EF/7IML+p/h+dNVRyX0lg sDVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:message-id:date:cc:to:from :dkim-signature:arc-authentication-results; bh=s5l1Ei2dkcbd5xIkIWy2E7HrnB/NvHPHt2z+3HG0AYk=; b=mqJbivtaISuXKBPzo4+MGYBJXn4q//HS3r+3iqwIrzWX8jk5ibAi62xkC2ZM3Fdu5F i+/NxK1esjQ0R/VtrcUMVLAFEZWWI374ChC27xKytggiFwA7Z6Rl1Em7NrXjS9wG2/CI G3g3rKzMHSAZCc5l+hNTRK1ZO3JugBwQxVhCXWezwwgWpQ9wNudCnV9EOZBksTRN6zRz obV1/ML8yzTKowAkyClC5gQ3pXHakdVL5GmtkY3FmvzRMhZpj2a4wEDF5xNTYBTURVkm H6+rr8vfNbtcrqS2jvVdIUO+JOdpq1CpAXSjIjw9FJS299QiRcOSfHtaPNXzIb/B0ucn Uxlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@nxp.com header.s=selector1 header.b=WBbqT9IS; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from dpdk.org (dpdk.org. [92.243.14.124]) by mx.google.com with ESMTP id x191-v6si2850887wmf.202.2018.07.25.02.51.33; Wed, 25 Jul 2018 02:51:33 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) client-ip=92.243.14.124; Authentication-Results: mx.google.com; dkim=fail header.i=@nxp.com header.s=selector1 header.b=WBbqT9IS; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E66D82C60; Wed, 25 Jul 2018 11:51:31 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0058.outbound.protection.outlook.com [104.47.0.58]) by dpdk.org (Postfix) with ESMTP id 4DF81F72 for ; Wed, 25 Jul 2018 11:51:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s5l1Ei2dkcbd5xIkIWy2E7HrnB/NvHPHt2z+3HG0AYk=; b=WBbqT9IShQ7SKZK6KKckaSnWC6J7PA6inY+875OgFWWfHPXsC7l4O84klhklRZ7goostoXCpOxE2Ebqm/VbaidbIts2v3BcBNUDe5hRGV42WxFkj+KI886KXyos16LhXF9Wu2xVJQWQkFBH8oUv3nX8GZ0Wf1mYLoWOLKPfJpCs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=hemant.agrawal@nxp.com; Received: from bf-netperf1.ap.freescale.net (14.142.187.166) by AM2PR04MB0753.eurprd04.prod.outlook.com (2a01:111:e400:8411::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Wed, 25 Jul 2018 09:51:27 +0000 From: Hemant Agrawal To: dev@dpdk.org Cc: akhil.goyal@nxp.com, Hemant Agrawal Date: Wed, 25 Jul 2018 15:19:43 +0530 Message-Id: <1532512183-13939-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR0101CA0035.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1a::21) To AM2PR04MB0753.eurprd04.prod.outlook.com (2a01:111:e400:8411::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 88fb9e5c-b37e-45e3-18a3-08d5f214310d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4618075)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:AM2PR04MB0753; X-Microsoft-Exchange-Diagnostics: 1; AM2PR04MB0753; 3:bXL5/nT9sx9HzP0go0awOBaK39Q2+HjFPAv0FD3ZmVyPiYn4m6lH+ZxtCf59IfYlLT0i+QmD51zQz/SD/NG2K7JBI66kKlkXIDTxkCQn3ASrznjLZ0vackVqH07d47KW2loD94VsQLlXLj2FJ2XVLzZw41cwEshyGeZl08TtneRTyFqwAKRWGzGV0fvCYeqTiJGjZQrOIh316ORTVpkOffvd5C6h/eH0p89dc4LEIQhjF5D4q9E7lXLxcjzH98kx; 25:lt9nrGlzxCtzuu4D+zINkBYsLRO0ek6C4DpSzVv/zmoGy6Yf7w6sxy3mA+Gyj2TveN6KqiDHfa4vcxGMWwsm5V791RDFBvva8e5xq2irzhf9SKrhli9jAbmNG3hJ/WfEE/vIWrCL0MtizYyoD33xiOG5zUJ7ijotYi1wzhJq6kSsj7xkv2rFsRQV1qHA13cHIg3M1QPJv7AGtkdZQglqLwgRsTjh9AEWMMrMqv4/q+cUKo3/YHLjk5bzlYiojBut4KGjgKdy46SAbslMpXg23tqfXuenrvI6juNtano6c0oSdTxrtz2lwDzRESPPtg0xpcl9nORUB4BkSBUmFKHocw==; 31:UsLsZviVqJ0FCd5PKfUlrpnhZAy+Ft5/4Jjk2PGMaONzjYFuYBAOmF+8KJeEokdLtm+mDhfxrgjIm4xKlyh1PNu2RmQGjQ4XupqlDwHVebNjn773Fv3D4IptBYd46cv37dmETar+TYkcOVOOjoR87J/gn/6IUUXrd402xmco1VOXrHeJfdL4ogv9/Gl1BlZOIeaNVQGX+C3PPXF9Xawi6Lvhs1sirF4Abw2LANxQsSo= X-MS-TrafficTypeDiagnostic: AM2PR04MB0753: X-Microsoft-Exchange-Diagnostics: 1; AM2PR04MB0753; 20:3BIYtbTGMH8R41A9bZnUtQd8iK4NxBTMOJ8dF8tcqnBRuvYcrb8uYqNXwUTn8jSeA4Wu6nP9W5LpqJKGpekcxTE09RdN7Yxn7Hc/MYJsKgHT73DMiNpfcnQMKMLY36s5Q7IkRyGAUVwK7MTOroluQQZ7SmijsCFbDq4RR4E1t7twWntNxHVUXze35syrE95yBJX+eIxd6ncesuYzLofeHdDcmLyGL7IWQr0ZcecZOa+Zgomm7EvjWV7TDDitxspqf1cGHn3lIeMQmgBEJH+m771xNijnsn+3y10wc1Uqm8BOR2cAVtMWhxXQh5g8By5Y5hmliY+MSoy6O6AxhrKN5dskrW7xbkwxrRzgWf5BsLBRijoJbbK5M6yxS+2KTvY+MUk4zrwbJvio/FnpavGehhgXv0USHbfXQ86NPPRu5zoO1gH1KsX4hI+mkOXNGoqeszXOl2+v2cjz2iTk5GT03GBVL0Mlq36fM/LRNmnHYfXsjLUe6RTl+sQt/BKw/2Ln; 4:Yk3ASYA+uuT91D+bQiT5sLuJrywwiv+R4lQTCcVU4xhJktPZ6EazUV8zPEmwWgOwATFmooVN7/zb4GYsMpci4Be0yjLsh3ZCV6qooy+BLfPdSaMD22MyeJ8pIRcCWLVpeNRds9G6wCSuBUvtyp6ZllAGl9NSSb7fnzKRp7BRRM+SRX0kQzoGCF/7hCdVkHItCkD0LfHS1yj0tlxGjUPS/r1tVmazwbwXYT0P/ce0tHGFeV6Kh69Oi5t1W1AMBpZ/wxldxoHdYmSpt9R77AzGMNSXgfkjsxRJ9tGgO8vovPlDF2byjiFWQuFR3XwtPWMb X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:AM2PR04MB0753; BCL:0; PCL:0; RULEID:; SRVR:AM2PR04MB0753; X-Forefront-PRVS: 0744CFB5E8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(396003)(136003)(39860400002)(376002)(346002)(189003)(199004)(50226002)(4326008)(2616005)(16586007)(68736007)(956004)(2351001)(66066001)(476003)(8936002)(81156014)(3846002)(25786009)(81166006)(86362001)(36756003)(8676002)(5009440100003)(2906002)(97736004)(53936002)(6116002)(486006)(186003)(2361001)(52116002)(51416003)(16526019)(478600001)(55236004)(48376002)(5660300001)(50466002)(6666003)(305945005)(6916009)(26005)(44832011)(316002)(1857600001)(47776003)(6512007)(105586002)(386003)(6486002)(6506007)(106356001)(7736002)(110426005)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR04MB0753; H:bf-netperf1.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM2PR04MB0753; 23:TFPqdemWRmfmOd6FpxuOdf0XUywEz20RsVii0ixWt?= BkYr1UKCOcu3t6fFkSZ8NihuuRtj5KCDk3NVe1HIRTkmPa5jr5xiTrdmbhErLy9Os4n5JYEgUhTLloJ9A7zDgtXNWc6P+uZWPogMgupDI2H/APsGfAFeulmkbIM5ueHax9zlYZVT3iO4ZW+GcSvaWigfztDFuPvksnCacgA5eG/9wvBq+eT+ycnnyya6Nj7WA3xMpNloKkILMBR7Pg2iszhd7mBMesFYN0BzdXN96auhH+tnh0HhnFXe6ix5JLwwXcxrxnzrxrl79Tmz6e+76mFVhuNHC29LiBrsjIpFbb5bu/EhoGaKJjTnAGLBFGhococKxJ9YbnIN4sg013NvjdyAn6HjcWLIqzXQXLOVu+BACQoNnopg3JHm5lkmUUsK1wAIGhsNOvN+0sTtaLNoPCAismMQcHUe8LOIWilmdiyuKeftXevNF57qC57pOmDzQNt5KJKUiZ0zqpfCOAYm/8dcEfFW9EyofpuEdbfO7Oh68rIeRy29o6TDIXwvXNwvHcnq2t+cOiS4icGtB/P4N7vMkX0c2ElJzD6yL2zhDvU21foJe6jrU1Dolvasyzpli/8wLj+QLRIJzx88Umi52IPeTE9LFz1dds/bAtL6c5pPYUUrhsVmSX7s5NtrimrNDDShcpYXTHMtlXoun8xntuj95n6sGMfoAnFV7lCX6aBUB0zjNTaL6AHn8bPHQE9/x0Gwjjtv1Q9JDH44lMwaD4wH11p326koxo8jw6KefjK6p7/lKxASd66Ee/gZ75qLbshx4VMvccR+Po5csOvqujkEfovG/7237RWdHdwrrIh4O5fHBNfhdQ9QzaBKqIubNJNAcUrJeFzzbqCQljx+a3ldP35KCNLa8+rUzZXVQeKGLL0vU/9CKRPDDDf2LVa/kZhFOoVnSnDKQQH2GDGm9szATytczW72P7Nbqmwius4B35TyN1lT+f7rUEoX7ubNEGn8Wa7GRBU12HJjQ8ZrNpa91aj3gorDd8e7yxFKHWWTx5tuVEr+PQ6O1amm+9ACn39caq0NnQntqla3XhbHmLuQbF/pp+JAccJ+2kPAT7M5hewCZRMVjm0Lmr3agLiq3RIJYWv1c0XJrFpaWzVp2kalqUk2XNSz5HjAvFvZNNIo5mldBU8BelXsB9awA1PO0WXZtl0cqvW0HEpCHMT7MFajkeIWl3ufLPD0e4wsaXY2h2gScErcTnP1rtcb+KKHLn0SCdFrvOfz6V4ooLN8ijZ4CeT9rEpAHnk8QpuG1YeRg== X-Microsoft-Antispam-Message-Info: 7q6iw+K7nkeTdi5mfTswEkJUEOPt2SNaJXR6gqOS8Ikd1cP4CnolqbleO7HiFvb+ExehUE5zztr9KfFlQ5SE0bzcnuvFjq/pFM8xglcCAEcRkd/5ogLDZ7n1yhjFFx8Xlu6HX39gsHmedCqQs1byk+0D8unrCayZjAQDATYVtpxkL8Cavuqb0N23KXad/sANaESbmpz/diWAEHqO34LOlTUU2ZAyv9KNL1jVsYbxJEiFsw2LV8Dipdne2/O6RNBmGPksdURIWSJMKYEndzOLwlfAulRnjiIorhduiC+wzOz6TYp4ODxj9OsOiQif5N7Ry5JuJw1TA/AYh+4iBuMNfilabyWohp+1Zgka5v4pNog= X-Microsoft-Exchange-Diagnostics: 1; AM2PR04MB0753; 6:Y3qegWbpcmId64dY2wIye2snzVF9PSL5go2K0EWMkGXvaD2OR8lwFobkhBn8AHjbwo1NRrDdXXSNnzx3VnQIORfcDkBaa8ZB7dPmQW11twH9OkgVvHJPkdPydZQtfYluUeW/YdKe3np498e00KalS8taj4NmO6kkhOQ1gRh3GjIdQo2pl6IW5+gcxjTlyfPDeMLWBDIgJb6aeOUyFdGO5tWbwW2wq/KeHx19LpabDCIltw8z3gZnE5zcOhAVpJR/jLLW44HbTtgZYt0cAWUOr0TROdtWShrVa3PDs08UFleEYALI10IMN2B3H48Pb9d9EkRmhBxbWL/9XESsn0tx4gSN+RkdMPcY0feWz9drrZvoncRmqJM2kcXmkSRbMLexyL5nf0gq3OGp8L6ZoI3Y47SEDSr5bbQMWj5AAu61m4nDC5+2+4wmMIneGNbddFdcqWTgSo/0NvQuFowDUhflPw==; 5:60GH+BWbZcx9E32uSR9q9gDqCGQ46Ctn+bbHFIl3pYnKM3wZe71waWwjQh5qiGcTKnET1PCYtnUQZ5jRyppJibipFxT9yCX2cNDcY6WTu99P9R/Ck7CpulDMidasc4/+VjpMTiXuZefyYdX4/V+svpTbvMW6TH129N0/QOXqnZE=; 7:nf1MmXxfhQVtMLr6B2pOfNtJqN78WmyCe8nfMQFentIDmXJpUxWtJjyXEwGpfAg3adEiKcTsiu+8ZdISYfggugOZf8y2li8sJJXV/EQ8W0mfLlCu6yY9V0N5dygfh5XSveo8qWCnVKKRZK6BPJ/qo3TZ+GNBVThZgMe6pp6sYbOsRvxlQmX1WVnYRBLSFX/pfVbLRL57UcTIhZVPtEQ+KNtN6ynp2x0iCK4at3T7/5ZytuOCKR1JbI9eyCZN5ZRg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2018 09:51:27.0506 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 88fb9e5c-b37e-45e3-18a3-08d5f214310d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR04MB0753 Subject: [dpdk-dev] [PATCH] examples/ipsec-secgw: add 3des-cbc support 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" Signed-off-by: Hemant Agrawal --- doc/guides/sample_app_ug/ipsec_secgw.rst | 3 ++- examples/ipsec-secgw/esp.c | 3 +++ examples/ipsec-secgw/sa.c | 11 ++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) -- 2.7.4 Acked-by: Akhil Goyal diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst index 46696f2..4869a01 100644 --- a/doc/guides/sample_app_ug/ipsec_secgw.rst +++ b/doc/guides/sample_app_ug/ipsec_secgw.rst @@ -67,7 +67,7 @@ Constraints * No IPv6 options headers. * No AH mode. -* Supported algorithms: AES-CBC, AES-CTR, AES-GCM, HMAC-SHA1 and NULL. +* Supported algorithms: AES-CBC, AES-CTR, AES-GCM, 3DES-CBC, HMAC-SHA1 and NULL. * Each SA must be handle by a unique lcore (*1 RX queue per port*). * No chained mbufs. @@ -397,6 +397,7 @@ where each options means: * *aes-128-cbc*: AES-CBC 128-bit algorithm * *aes-256-cbc*: AES-CBC 256-bit algorithm * *aes-128-ctr*: AES-CTR 128-bit algorithm + * *3des-cbc*: 3DES-CBC 192-bit algorithm * Syntax: *cipher_algo * diff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c index ee9e590..e33232c 100644 --- a/examples/ipsec-secgw/esp.c +++ b/examples/ipsec-secgw/esp.c @@ -96,6 +96,7 @@ esp_inbound(struct rte_mbuf *m, struct ipsec_sa *sa, switch (sa->cipher_algo) { case RTE_CRYPTO_CIPHER_NULL: + case RTE_CRYPTO_CIPHER_3DES_CBC: case RTE_CRYPTO_CIPHER_AES_CBC: /* Copy IV at the end of crypto operation */ rte_memcpy(iv_ptr, iv, sa->iv_len); @@ -326,6 +327,7 @@ esp_outbound(struct rte_mbuf *m, struct ipsec_sa *sa, } else { switch (sa->cipher_algo) { case RTE_CRYPTO_CIPHER_NULL: + case RTE_CRYPTO_CIPHER_3DES_CBC: case RTE_CRYPTO_CIPHER_AES_CBC: memset(iv, 0, sa->iv_len); break; @@ -387,6 +389,7 @@ esp_outbound(struct rte_mbuf *m, struct ipsec_sa *sa, } else { switch (sa->cipher_algo) { case RTE_CRYPTO_CIPHER_NULL: + case RTE_CRYPTO_CIPHER_3DES_CBC: case RTE_CRYPTO_CIPHER_AES_CBC: sym_cop->cipher.data.offset = ip_hdr_len + sizeof(struct esp_hdr); diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c index 4ab8e09..d2d3550 100644 --- a/examples/ipsec-secgw/sa.c +++ b/examples/ipsec-secgw/sa.c @@ -81,6 +81,13 @@ const struct supported_cipher_algo cipher_algos[] = { .iv_len = 8, .block_size = 16, /* XXX AESNI MB limition, should be 4 */ .key_len = 20 + }, + { + .keyword = "3des-cbc", + .algo = RTE_CRYPTO_CIPHER_3DES_CBC, + .iv_len = 8, + .block_size = 8, + .key_len = 24 } }; @@ -327,7 +334,8 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens, if (status->status < 0) return; - if (algo->algo == RTE_CRYPTO_CIPHER_AES_CBC) + if (algo->algo == RTE_CRYPTO_CIPHER_AES_CBC || + algo->algo == RTE_CRYPTO_CIPHER_3DES_CBC) rule->salt = (uint32_t)rte_rand(); if (algo->algo == RTE_CRYPTO_CIPHER_AES_CTR) { @@ -810,6 +818,7 @@ sa_add_rules(struct sa_ctx *sa_ctx, const struct ipsec_sa entries[], } else { switch (sa->cipher_algo) { case RTE_CRYPTO_CIPHER_NULL: + case RTE_CRYPTO_CIPHER_3DES_CBC: case RTE_CRYPTO_CIPHER_AES_CBC: iv_length = sa->iv_len; break;