From patchwork Thu Jan 12 14:52:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zbigniew.bodek@caviumnetworks.com X-Patchwork-Id: 19266 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 [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id E4B5DF63E; Thu, 12 Jan 2017 15:53:05 +0100 (CET) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0045.outbound.protection.outlook.com [104.47.32.45]) by dpdk.org (Postfix) with ESMTP id 93974689B for ; Thu, 12 Jan 2017 15:53:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cCBmW3k3ERBcqFS4ADdMFhIeltZHotDHquffYP2d0Ms=; b=djejj8d0u7fU7a3wAbganfeliiQziVvZ1CHsZaJZ8vhBHl5d9EYoxNrr5cY+xgoMh6XbNMxEKXbnbj0Bo4v68JynVlN9RVB6QT+OismwoX0eKAbDwZV+eRVp6aBJfzSlhBFDxmjyMUtLw5THEpn/5++oF52HetBl8bfIinxanZY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Zbigniew.Bodek@cavium.com; Received: from localhost.localdomain (31.172.191.173) by CO2PR07MB555.namprd07.prod.outlook.com (10.141.199.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.829.7; Thu, 12 Jan 2017 14:53:00 +0000 From: To: CC: , , Zbigniew Bodek Date: Thu, 12 Jan 2017 15:52:37 +0100 Message-ID: <1484232757-6451-1-git-send-email-zbigniew.bodek@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: HE1PR03CA0029.eurprd03.prod.outlook.com (10.163.170.167) To CO2PR07MB555.namprd07.prod.outlook.com (10.141.199.151) X-MS-Office365-Filtering-Correlation-Id: c8c80810-4ce0-4743-6184-08d43afab522 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CO2PR07MB555; X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 3:4djFPUoLVCA4inmGxs4SIijA3tZMRew7PSZ503Xn3OaKaO/U9R7ZKGyBYBg/HGxjRY/cG/sWceXxQRo4Jvh1EFwvNyMOTg/lvhjF/WwH7KaNfAW5TJkqK4fRziFHTbN8u2bVIzN6tjyWld+BXLYjEa/s/No7b16DoAU65y/dYMwRGM7wfnd2MZZaZRyYJPmcaETHOyCdIMbaZjkMOfEixKpAxYQhboAfLU8H197tEc9XlBFJWH8h9mn+I9F9ug9Gua744P1/elPVUVXrAGafHA== X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 25:wIyxZUYG5GAlfYa3br04wEyyncr7mpglDloDRvTUaJmWVgi5IAQWBmy09Ya0quu3rrjBlGEkJxyBf8hrDvxFl0g7UmaGOTGbbI4PwUil1SAVOCAmEm7MZ1daKyiYlOM0wMVDB2inizKv0mj3xH4dtLyDowIJXqujdXJr9bSK5jWbF2leNlKJdi3ZUavSD+l0M8MGA1G6doeuq1CdfPfdzLD9+3HEE3PKKJazNgUYyVokARRhRTIlSD5JFK/gxnGSyOgdEN2omEeAXFpy6g8tMGiXcr0sqDFGZBcOcH4FMz68e2fYzEJGHggGFH8gwHNVxE2kD+wFo8BWGP2Cui9VLFHW5UDeKbQsewk0Vf6+4IKIUwqUtCnPgRwLucazA/GtqkS4CSAmG0Lo1rMuAoxTZoNEp1+sLvIVVfYrSeA5EQJfzESWYTPj0Skr4LXNWdwl20B3UlX3Gb0ZYg3o7h2qGzfM224g00da+XqrwVhx+fDB2fBmKakvRwrwglZjykigO0LDiL6KxDtb9Ype/7s3lc3hS0XLhrGhPkZSQ3w5cyut+gyAzlKiX1MPJshXKoXO37o9NY8FpuAbCPb+dKyiiiDf4YLrbApeY1MOq4FnfYs+8CZ28pfvwTMnLvkqBy6Wron42kNbMvRntdi4MfT4fzp58r2rXHi6/caYucPhAOZE0U8GQGQXIB9CnHU9JSMiJ0ZX+xqV/Qw7igHc2S5/bozX5l/0oCkeOmnvlr9lv6+dxlhg7mGGhJ+xwB45GMwIjDKbkY7UGCX17A3KBaF2Tw== X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 31:fUiKhAubbnrt5P81aWV9LRkvEOsKQxu+HuuPAzcEE1nzqLugfxbfFvEnT64yliGilYXk2d/hwwkMcVmQRJh0xpusYGxfK7UYtUKuoi2nJO77Zep15cCtGJNPZYjD3XyJkovOu4PgBCD+XrGGVCvQdQxQDYcjQo71k/myBQh+HCENFJX1m1AHNdbq2bGcgOD05JHsZfhuvIM1wXk3XWSYYjBfekxi0rof9jdfVH0WwHdgcMg3F5kfrZliXEDSQVKLQ1H9GgNjTl6rJyypyrHDXw==; 20:52NFCwY0FrD5EJmaCkscDhb1rizoUIo0pw2i215rBKLIV5Jl4PGkrI403OJBzJ+3aH5XkwMenxWyIi4Sw3y88ljBqgsb5s1SpagWJHeAOxWSn24uHC0fIgbcW1DJeilZTNfabcj7IqiefX1XLxOTscMsCLL9EwxUa8XPTzBjEmU/bWhTC9J1Wdt9wDk8njlhPNDXzFJRgy/leyyWWcB9QD3YFlwtUkLO5ll6u5UIzjmjnKV2tyeyJO79DvW1Izs+GVpoJIc1pMEdhdtzb7FcOHPJ1NGQa/xCAi7ZOnhE7yfNcma1sbXuvUgrtggD1U8XvFCsyibWBn+ztzs1LNtAtgePaVAznw8ULa6W2IwFJZJIGBrvroWkBJCO73wq1HG1mJjoj3hojhUX1RXA0r9ByRsbhGhChOYbfgMpOybvBhfLmXefTeSgKN94X0w7tzwIfKWsbZEIHL5zCibBkUC/JAXg8bfMC+YhbDriytgg6x/WGdqGOAYVHiKq6lwfuDd9CLqpHA7IVi8ED0K3YvyowjvwvlRCVyF8HPvP4FiZR9r9u39fgkiUtYW/cPpWv47WAdZi01hU2tIsNzy0OQXQd4LR4AcCPNjdTgUbyZn1VMc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148); SRVR:CO2PR07MB555; BCL:0; PCL:0; RULEID:; SRVR:CO2PR07MB555; X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 4:29xqP3OlFdGdW5JJVzK3RkTLea/kCmgYNg7JjKBB9QwxAEDvCiXvteTbEwrc4JFoMbinoRO/s3XJQcp7R1SdZSq2p22dbpPFXqLbqAtalSo9TrGtjlVEHYAN6l269HQOmCWwdKpHTv+08weVsR4MljJwp9Co+i/kcsaM2P8Ur9bcog/7HywXrVw6yVRXaqzi/qaiigoA1uOb3xnBRqy17Sclp0x/Ne4u26U0Phvn07zr+QvWTvGlS1lcTlEgbfoldbWooMIKcS2gRa4gfQvVkWP9/72ypX+LKu4LPXnbmVTZqsu3GNr0EVfb433M4/faoRv7y9Ua6Gg4L2jU6xJNYF4FC09kBIneRylNw+S8d8WwUTgEi548Rd7JtWiUpUJz6RLvK3n+0BQ5Pqgmi2awZ+dJRcbcuUr2T3b3SQsBfqE4hfXUUzoChHVma1xfpBaH81UNu9eN6r83kisR6yDikXsTUQhrlkNyWaQhP6TyAFHE2vIRJoYLW7CHpP7KOeXDXJ5pm9hxXIXvpiTQHRCo9PfHJ937QSy+A3Ltm1mlQCr+D3glGaK50wyN/1y3ZHS3PCN0r09K0iyy+Ny/HhrRAw== X-Forefront-PRVS: 018577E36E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(199003)(189002)(3846002)(47776003)(66066001)(6486002)(33646002)(2876002)(4326007)(50466002)(7736002)(48376002)(305945005)(6116002)(101416001)(5003940100001)(38730400001)(6512007)(107886002)(189998001)(25786008)(2906002)(97736004)(6506006)(42882006)(110136003)(106356001)(6916009)(105586002)(68736007)(6666003)(2351001)(36756003)(5660300001)(42186005)(81166006)(92566002)(54906002)(81156014)(86152003)(50986999)(8676002)(50226002)(4001430100002); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR07MB555; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR07MB555; 23:+VrklPaLfbKrIdbzK81Hn/bEiBUDI0rQDzJ7z2FbdL?= Yzf1tU7Qiq+RO+BS1c0IzpaoW6kv4dzmwYEFe+eE6WsSIumDy8z+YU0PO65ZVw0w2U6O5RpTnWOZd1h+Mn73EyihGbiwphp0/OWngPx/7Liw0bm/nT1NiCL7QRIbtEyYBBknZAJ/b80LGfZ0e9KY4JP0PlOdNdc4IKkyhN311p2Lx+KzfbfvgO2KYxdHOAvPzf47sSevXdJtncS0/QVWc+6+s+yegYOObRRLqNLurfgU+sK23VQ4tF1VmMH1z0/ghXbAdTzOuN0bnxh/ZHIvBANZTEltJoulW9MB+Xt2lISo1eqw91NFVed6UP3ZSYwmWUao7XpBW+7/iaGEW+FdA7xg6yiKIrl+xfA8L8F1anodeM+m1JS+3i1o+zSJZDQnoDTuBHP5nc+YjIhkl/TKvzr9voX5wpvOuu5WRFztcHqeToZiCIZg/uF52fxe6I+ll01bKS8vSCNEnQkGP2Hwqye5NIQ38p6Lq27nXQ9NAidd1vmXTCwgKMFM0ckjzeHAXLSYFLHtU5usaiBPS6MgFv/QgETRXDEcoWGt41EC22utUYnq/qyOg/kfqjWicro4TYJ2BymJypMgbTQsLkk8fYGRbt7ypsMTJYeVT5ejU3JujSgjXTbKdp3gbpW3tC/9TR74KiMUIR+YFuj7fkJ5fYJQVOc2QUKsYgV2xbfCn5d9QoLAvNev1luzzTE0bm3D5Q0YfWg0K0OfFyCiEgF0dRf/Nzis9TRylPeOGRIwDVFMxNoSSE10EtH2/FOXv2EF7+428U8/FJUeh0gWHbplEIDNpQcz9RFULEuCw+R0fN11A2il6INkDvH6RA+q9z3gp+LzzVpVjefEb/Hi/xcIVBd78aOPPewkegywnDRoCZUhxWjYiHlkJZlCEXcjrZynGJvOGOURoau3FrLvO/yLOK+cNe0XjdIJlcBrrfTH23oPFm7QzQLp5nPQy/a/4Iu7ZgJd/YXpnMh3cMasW/w7gw/0FPOcQp9N8s8sONk78Y4JCP4MOl0AJ1ke4sX+MXod3dRYo7YnZQozUnECp4MaqcDGzew7EWS9SUBB0LN90iuYj0KH1LiwfkyVKG1zFkc08rLhTPL+RFBTUb799Tpy1HGpd6KX6jaHArVe3HQYENUdZVPwOtMhNFfdFb6X3jLJI= X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 6:4TzyFaz27BV6UlrzmVFEd5ruj7VKG3GOg43ijiiQ1MCZK1qoUe8DoKmodlwmsz/j4LDJbSDnn1w0Qe7MCg7Z6ilnE+jOc3JqDcNiXhDnSltUJTcyfIHwi1CK9OtiJPiH8EGZjzDZvqot8ElaS8ZRhE1HkmEjhLZyLnP0Iw6+JVyk1cGDN+Emge02buYoDfmxFhy7ExQtHtztPofCM8aeHb1q/xFDdnKLAm/w3FUIMAUNi7Lv9s91CPrbNwzdjNHiedbYm9nyJsi2O5E0NRYKAmjw6effCruooiNLtys1OspPbuzTd4xhpcJFu4BB7G5dBly8YuQwPVK4WLoWM8XXHdgoDEeyn7TLZu4dSsmwXYlEJXl96Eq9sUmfnoEQKuCV3N6jY6spkp19ZLj8UC7NXa66yIvw2EfseK5Ad4SjOwc=; 5:Aqr+OJgZ+4baixCBDeQ2v7vC9jBvyXDde2OwpPXjEKR0J/EO+McusLb7ty+DP7tai1X8VzD+Z7e/5WWk/zlbTjRVPbwoqcn04i7UUopsbseyLQ2utpfelwW/44F9tn35V30p2hHf69afeOlQfkj7k6DNOf8UL5jrx6AYYlqiYWc=; 24:AofhPSMep6pkp8uEfCQJWJ7g/w2hJ+MyN+gOJaCeAEuP0GpsRaKCea0DHdIoDxJ/JO414uX6JHhsH5FzDc03AXJ2UIov6F204zah3kRhO9E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR07MB555; 7:MkAWupnRFSfZzqmhVPIisxcrLiTnGtvaE17w9S0DFUWxfFTSaVi1lZy/heX8vQ0IJ474GyW95/SSQmd5MKaoMGOfJ2V1c5ZRoFZxoq0ja7yoKo2lE2IuwGiKAinrjY6T85fLx7biBQY8qjjORT/bY/voal92pI+YCmP1Y/x3yO4/o8WQsJAWoFZQCLJx6jPkWbBmRSXTbr888HzjxbXIJuVlajFEAOcSWvACgin69cjaPiyYPAsgKEL71FRmXpJrvANcauPTSwQrQGJklP4ZQ7tGUtxlgkbvWN+s7ynkcwv17QuEnlHUvdLyI+V61KIXVJKBlun/s5CYaKsHHKBs9MOgFw96/Rpt+KEUcedlkLNYbXVBIQeaXBtVXh2ynubx84NmIS8xCVDTD0oEN608d5amMlZ4XUx6Erxsxv4+SGVPRXzUJD+HcLY1KeaHlmTmes+Q0IfG0lBsFpYgs9V/Cg== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2017 14:53:00.7946 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR07MB555 Subject: [dpdk-dev] [PATCH] examples/ipsec-secgw: add support for SHA256 HMAC 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" From: Zbigniew Bodek Add minor adjustments to support SHA256 HMAC: - extend maximum key length to match SHA256 HMAC - add SHA256 HMAC parameters and configuration string - add SHA256 HMAC to inbound and outbound cases Signed-off-by: Zbigniew Bodek Acked-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/esp.c | 2 ++ examples/ipsec-secgw/ipsec.h | 2 +- examples/ipsec-secgw/sa.c | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c index 9715ea9..e77afa0 100644 --- a/examples/ipsec-secgw/esp.c +++ b/examples/ipsec-secgw/esp.c @@ -122,6 +122,7 @@ switch (sa->auth_algo) { case RTE_CRYPTO_AUTH_NULL: case RTE_CRYPTO_AUTH_SHA1_HMAC: + case RTE_CRYPTO_AUTH_SHA256_HMAC: sym_cop->auth.data.offset = ip_hdr_len; sym_cop->auth.data.length = sizeof(struct esp_hdr) + sa->iv_len + payload_len; @@ -354,6 +355,7 @@ switch (sa->auth_algo) { case RTE_CRYPTO_AUTH_NULL: case RTE_CRYPTO_AUTH_SHA1_HMAC: + case RTE_CRYPTO_AUTH_SHA256_HMAC: sym_cop->auth.data.offset = ip_hdr_len; sym_cop->auth.data.length = sizeof(struct esp_hdr) + sa->iv_len + pad_payload_len; diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h index dbc8c2c..fe42661 100644 --- a/examples/ipsec-secgw/ipsec.h +++ b/examples/ipsec-secgw/ipsec.h @@ -90,7 +90,7 @@ struct ip_addr { } ip; }; -#define MAX_KEY_SIZE 20 +#define MAX_KEY_SIZE 32 struct ipsec_sa { uint32_t spi; diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c index 8c4406c..39624c4 100644 --- a/examples/ipsec-secgw/sa.c +++ b/examples/ipsec-secgw/sa.c @@ -114,6 +114,12 @@ struct supported_auth_algo { .key_len = 20 }, { + .keyword = "sha256-hmac", + .algo = RTE_CRYPTO_AUTH_SHA256_HMAC, + .digest_len = 12, + .key_len = 32 + }, + { .keyword = "aes-128-gcm", .algo = RTE_CRYPTO_AUTH_AES_GCM, .digest_len = 16,