From patchwork Fri Apr 28 06:49:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikhil Agarwal X-Patchwork-Id: 98309 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp122923qgf; Thu, 27 Apr 2017 23:50:16 -0700 (PDT) X-Received: by 10.55.132.198 with SMTP id g189mr9081192qkd.92.1493362216428; Thu, 27 Apr 2017 23:50:16 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 138si5242058qkh.218.2017.04.27.23.50.16; Thu, 27 Apr 2017 23:50:16 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id DC3A76204F; Fri, 28 Apr 2017 06:50:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-4.7 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id D303860A48; Fri, 28 Apr 2017 06:50:09 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 851CA62008; Fri, 28 Apr 2017 06:50:07 +0000 (UTC) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0054.outbound.protection.outlook.com [104.47.42.54]) by lists.linaro.org (Postfix) with ESMTPS id C0A2160A3E for ; Fri, 28 Apr 2017 06:50:05 +0000 (UTC) Received: from DM5PR03CA0008.namprd03.prod.outlook.com (10.175.104.18) by BY1PR0301MB1191.namprd03.prod.outlook.com (10.160.195.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Fri, 28 Apr 2017 06:50:03 +0000 Received: from BL2FFO11FD044.protection.gbl (2a01:111:f400:7c09::130) by DM5PR03CA0008.outlook.office365.com (2603:10b6:3:118::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12 via Frontend Transport; Fri, 28 Apr 2017 06:50:03 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 192.88.168.50 as permitted sender) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD044.mail.protection.outlook.com (10.173.161.140) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1047.9 via Frontend Transport; Fri, 28 Apr 2017 06:50:02 +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 v3S6o0R7018726 for ; Thu, 27 Apr 2017 23:50:01 -0700 From: Nikhil Agarwal To: Date: Fri, 28 Apr 2017 12:19:41 +0530 Message-ID: <20170428064941.10030-1-nikhil.agarwal@linaro.org> X-Mailer: git-send-email 2.9.3 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131378358027903363; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39400400002)(39850400002)(39380400002)(39410400002)(39840400002)(39860400002)(39450400003)(2980300002)(189002)(199003)(9170700003)(110136004)(38730400002)(105596002)(106466001)(86362001)(33646002)(50986999)(36756003)(48376002)(50466002)(2351001)(5003940100001)(104016004)(6666003)(6916009)(2906002)(5660300001)(47776003)(1076002)(53936002)(356003)(189998001)(77096006)(8676002)(81166006)(8936002)(50226002)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0301MB1191; H:tx30smr01.am.freescale.net; FPR:; SPF:SoftFail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD044; 1:KMQwYFuSrDgbyYZgngs+orrq8G1fiaRAM22mn1WiVJ/c391l1nVDVk7HRXDFO+4iAiD75XD8JCYLP+oErod2TXn2veDqjv1zQV2YMyqCbO1udMut63qkUHJQt1PfXQNq514Ka/u8M9xVeCV5mf3ea7u+kkXlM4w4BjgyIDyymS1GrkXnH3b9fl7nEI6ao5Nlk7Q/rTP8OwEmXppDT8h0TImqHQM3X7rqx1S1wf8dOGo3F9ZfAO1fFlrBT4Fa5aVJWljwpPI3LoB416BqOzRO2jLl7FmpWM3VtpUuWIAy0cOlNbVE+FdFxuOU6G8dsU87MnyBaLzRXWQqR9LDEYCcZLTW9bApPAfFjaXwJK6vvsN9zqgTsHdKWDesZwFY8jlEJS071QUhgz2FbZqCfncYEvbXBTf/7vmfTAL31Of0QRoJFfZcBy6RCWIMQJ2pae9kkBYkw4BIHxF6p+jTOGMRqBGbh4Yv0RAjopeZpwF5mloOxMYF1TkQXEMB4WTarUvxsuQYQJ6yFodzUOxmf3PvaqqS9DE2XMy6u5YjcIpp1IeBSzqLl/59ZzyP6nEwzuND MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8717ca5a-bae9-4b40-0022-08d48e02cbe2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BY1PR0301MB1191; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1191; 3:T+HP8mB2ceVgxi+7NyHqUZhAmvhC2KCO7kOB9sNZaGYaY3xcSJ9+Q0H7ZJYMY968FJ2M2MUd1J5FH487KN3BwsMlrBihRxysLVMVYtlGoPT37lfwma7g+fQHsH+1ue3Dmz3z6G57mJmdpHzurr0ucghGRk+D16EpVUSQbACnfpi4R2B5ZXPXfWW3uE2niDOqrVj2SfYgCwF5JHor/5huJKAaMK3rLrYNRqS9+AMyWoaR2ui+hABqT0g2syAzd46pjeZUqWr8QTjjXRWYEqXgrm9eWBcqyHmFGSNhKlsVfU2yCJCG2xt1K7YSz7bxGJeqHKoECvttkcfPK9i+jDr4I9VP0AZHEG4Is9GRFpUE+K2xl0TwgJDJ1f9ChGqqODMjblVQgRfvlWQ/GmDNzi/z3Wmx0n04rM4G5wSEAU+YH7ijr84KIzcMJSo/D2Pt5Yl3; 25:F9RdGIJkHk4V0eEJgjxQmkAWUywIWeVp4FcRLbDfM/K/ynw9rp8uYFJFJOGvZPfWSdg+d/tpcay+aR8nrRq5R4IgcH70Ed1ac2CN3+dKTZnMMUDUsOdzftrlcBPvtREFOh7D7HfE30y8VHoMyve5QxDvu2EthKDelNUiKWjmLmDR4/y0XwVbu8P8iZK+Z0YBXKvCIAX8nNLVhJWpECBwA2Xux2n174iMEUPlG+92tEyD8PKWhFeO5oM/zpHqMHz+YrP4bYp5gneqsie4aOb1I9J7+OXtc7s1alc22vbWwE4Hj2ieJkcaaZn/XigbHQa1ahrKaKtz9E2cqT98plpYg2+2BiGLo4ty1lgLAE5AII1M3UAqyGHeRUlOtW5ie0sIHGXw+Hl78pDBx3dOHAOL4B7idC8ThRgp6YgMFUBKHOluq6JOIcxig4YbbJF6EQ1znAzOjJiXLLKFG7IbIjdSYw== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1191; 31:uNbeaxvWVEgvD2sAkaQ2Ncr1b6j/gOi1uyTrPMXt40FwbENrVdUIrRKk0VD2ZmV1mFURKooriJHrYmnf/r3+yZgSOJvTTa/fgQgpAOLwKxQTP2Ux8NyTmNoPaPJS66/gQtSU/I81uHKND1Zd/qMzyhr4542w/9HT64Yr3LjEWA+e8/GfyVmFnEFgGvxkzvrcEGIxviPK7cfWyc42m4lnDoW2q9G3vy7DbgtYB/cfGaHrNTE1Wm5oVwfJBtoY+96T X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192374486261705); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(8121501046)(13017025)(5005006)(13023025)(13015025)(13024025)(13018025)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123561025)(20161123556025); SRVR:BY1PR0301MB1191; BCL:0; PCL:0; RULEID:(400006); SRVR:BY1PR0301MB1191; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1191; 4:5uYWQHIzreWwGktA6NYb1TAv5dWJI1swznCMsmJmS57fdurL0SDI3Pb2MCfuN3AIm2Ags97BZUmTasmp86sBgA8p5lkMqBhbpMnQm/dUS1oOvzZ5xLCjZMy1C5su7lgmjaMo7XJmvEW37Z+zNzgEArNBpDOZC7ctIS+1jFMk8qFWo749I/cYc7qEQqmF8urd0bI6UIqqTTcVakGstF/8psgzzFGtopvI0N9rjG0nzlH/yr6NQY5SFfR0rLxKT8IWDXhEUh8ElsV1T51zW/q7UdPAHsBZ7MdyWOOnGlKjQfdYOazg9MBK564ZxzcPMjk9zNY/QKdIjXQ6LugflPNiSU3hYcA2IsOGXwSeZYoYYjUasZ1qNkVyf+r0w1EcT1p/gTL7yONRe4K8CZzUuJPvBJlNVb6qbY6r3K3xa2VUW6qUn+r+dFOH/pj23KgM6YbM9wpxErMPUinRZnvMlZ6KCnKodfu9I01uGFYEjpZH9CTfNO0HRAyx6x3VwDYTFYrm460MrRg2+96X/iJxYPKUfZLe8NTTaVhEoUCkAxMba7t6NLgAgT0Q27DFFi62xoYSbvvBzwqOIsxQTHQuXnpvvcIl1aChU2hGXh9vzvFBDwaoGsrdiP5wrJU4MxxI0a1m12aiEN7aSzod3NpB4Kg+0WnZfR0T+V27Todz39AJZr+o9hRF24qEYBdUMQCv5tGRKcVRcvYFec7v6b+G1F73Syyl4aASLIR9xuw8oF5s2/axqHMmMqOKALwZ904PjcplJhyvEWy8zcQ1d+64xXVaDpt/jxZ3HTut1BradrInfrnFTlHXJNCkOfKG7CrlyNFZSYjjBZBRZu/THx4Chvfrbj7CIbVFfGY6Zx/OmGT8aSbkcpVDhsKDFZb83jP4RvcTbI9fzBOFVXCM03w0+/NvkgTs7cFgXB9xIaFTHFcNnqU= X-Forefront-PRVS: 029174C036 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1191; 23:kxWQL4vir+orlUEabo/dpqWin098ZUaMs9UfBKx?= jwg+kkNd+TyiFG1Og1PDwzDjVHe1ANNlUITQDGn2na0LrkCBb/74HN+bhu1nMWQ/xsh0VQLZ2jwCaH7xKewDvdx5zRB4tj/pjH6WINxqXAZrhiXObkpBnvSdAstkkIOQut+tOqKPcGU4c7Jv2uvV/gt4erzkTzuif1ArRLEoW7BFoA57dd+00hxkUJzUSfUvwIJ4g0NNh/fNMGFCVl4J4sDS5Fu40PoVHRpzRpPhRIprg5weYVj6mTMswjFWILwlBTQ3Q5+Z99fHN/yZR4bKhz23fEw93nWaUJe5pxYnwNpctsf/Lb2r52MQ/e0zPxf1tAtub/5a1HhuxEODVjix7g/mIGiC4brUipNPDf37CuDAJcKDXG5+P9ckPBntRXNM8Jrt0Jo1t0GebdDwc96un616pSa/S7P4jvNKaN3GmtjnP+aJPqBd7tCS556E53/JhP1KtPcv4+brp5qkttCrwe//vrynP6KeRsWKglJhk84r99qnqOYcwVqNTkdrKFBhnWrz9DQdyj9gnmTZF4kgEpIDGkwiSoDZBWTuuZH++x2eNs4AoGLmlUfohQ2WnZVZVO+myl7LOM63u1T2bbHCaWUaKClH5XehkAQNVc9c1UAGAOuLwrbDTQx1ruOSvWItWmUgAwRhMWpUEYDtN9ZaSt9duNyGd6/MrjxSkFj9TpVLfmQby568U3JowX62w/49kpZanmqVI+eR2X1jnCisOWQFWKp/9JbWS4KJ0/7dBrgNZbxI8Dvv5kvlFJg5mBF15WCBhEZHz4UJE9wogJX9JYK8KmSFQbE6BR4A4fCVaRO86NCDgqE2+Ej4G8lc+qJs1edLCQBWThVgc1WXoRemaTjlc66YESTu2y5BDjhX9PRg+5c3cID7Zp5Pdo/oVHQGwnTl0rJ/a5A6184LmC/bhjL99X7+DIxqgwlnqWbpH3amksPDEOOfqW5G193NvxeIUwr24WDMG8ohoQ4/OMlPWG6GKr6rJRHQVj/rvKkPgxp1uzhOYI1nqWHVlmA9AIbhW1aw= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1191; 6:WwDQ7h8uqE68k5wHlxsrEqEFcvU0CRla/aVQh2PLcp4TrifI1te/TWNx0AYDp5JeljJHG0UEi4cq6DVtRwaoxryq9KG7jeYywgfPJvdJVd26st6yeWxcauRH6kQOvjQt76ZDTMsKth+nNBrAqUsXsYQZi+1sTUa4xZUaGaSZcQRSRuQWKcjARjDMvej+LaPJbPZZDPwsfwUNairA8zPiat0SXDPTSLkuGk+udgmY4BCWZbKNCa/1P/hTWClKCsx4WWfsHYYIOxlYyL462Y6w0vBe9qdoAeZOkvdVLYuFS0XdEPF2bUnFNooEy78rnOHW2K6rwPY4CGmms+kgzWPd1Tq1FarxsqQI4QJT+xxPqArr8ZIlwmLHp4rPY9i0q5n7f2UdtWN1OsKV3VVp3ZeoDQWZ4kRIGtXezPi0rVBbog9isfKGbXqIakQDd4f4gqQLkNpsE8HQ5aZ/R6Fd9XeSl2sDEzwiU+nZPhqpPpwcRxGRcpm773+HHksg9S//olW0; 5:PQXpYdz/SOCVR/IY7Rm2uRsP4BaOLAHRQorqVqu7yw4nRTWX/wHhiE7FmIFi7M8ZAhPq7lmbFg9CRecGf5jlki6K5kkhp81jygE1/mqVMVJqdYxHy8AsHdROHaR1QqHQXNUVSG/E47zX5eatFOpPsGOUqEygLTRJwe1sT6WeYPWhR4qjix9gYXvj9e3kl89l; 24:0jMWhg4iQZBP+9qnn4dDybSoJVMyN4cMmiC4WjhI3sKY+6m8NdanhG3g78VpX6l/uF0IXltNg7q4BEEnGqFzLQlo7F6SIKiOvIESea8awLw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1191; 7:8qYGwq7IlYff/fS8dsDeHu8cFgaEJMKAGnWe+Y6rTYLQ3+KKEUBtIAR6HCNu+7zdGBtCQxDP8R1z3MJDfcf6028iaNI9UteiX+adNyKanOvkE/jkiQurMpE+fzMQHJK0HrK7UafZT47Zq2wO2ZC+kewZgUtJApI7KqekqJLqEu3KWIqIbOpkWk9YoHf578b3d96Wxi70/LTGgzA//ZNHsfqPlKJLAicd9pSBO4d777gMZ5K3lXXUMxdlD21uPvWAeevOtZQ07dBAluJIluJAL93tISvUtRSRgT2rbrDsS0jg1LPXAm/SpxfhCSAp5ZCSY2kS6bC9yVSrLuU7wb0kiw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2017 06:50:02.6031 (UTC) 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: BY1PR0301MB1191 Subject: [lng-odp] [API_NEXT v2] API: IPSEC: Updating ipsec APIs to support sNIC implementation. X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Signed-off-by: Nikhil Agarwal --- include/odp/api/spec/ipsec.h | 62 +++++++++++++++++----------------------- include/odp/api/spec/packet_io.h | 10 +++++++ 2 files changed, 36 insertions(+), 36 deletions(-) -- 2.9.3 diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h index e83494d..a2624ff 100644 --- a/include/odp/api/spec/ipsec.h +++ b/include/odp/api/spec/ipsec.h @@ -59,8 +59,10 @@ typedef enum odp_ipsec_op_mode_t { /** Inline IPSEC operation * * Packet input/output is connected directly to IPSEC inbound/outbound - * processing. Application uses asynchronous or inline IPSEC - * operations. + * processing. Application may use asynchronous IPSEC operations. + * Packet post IPSEC operations are delivered to PKTIO queues. Further + * classification/Hashing(inbound) will be applicaed to packet post IPSEC as + * defined in PKTIO configuration. */ ODP_IPSEC_OP_MODE_INLINE, @@ -226,6 +228,24 @@ typedef struct odp_ipsec_outbound_config_t { } odp_ipsec_outbound_config_t; +typedef union odp_ipsec_protocols_t { + /** Cipher algorithms */ + struct { + /** ODP_IPSEC_ESP */ + uint32_t esp : 1; + + /** ODP_IPSEC_AH */ + uint32_t ah : 1; + + } bit; + + /** All bits of the bit field structure + * + * This field can be used to set/clear all flags, or bitwise + * operations over the entire structure. */ + uint32_t all_bits; +} odp_ipsec_protocols_t; + /** * IPSEC capability */ @@ -264,6 +284,9 @@ typedef struct odp_ipsec_capability_t { */ uint8_t hard_limit_sec; + /** Supported ipsec Protocols */ + odp_ipsec_protocols_t protocols; + /** Supported cipher algorithms */ odp_crypto_cipher_algos_t ciphers; @@ -554,21 +577,6 @@ typedef enum odp_ipsec_lookup_mode_t { } odp_ipsec_lookup_mode_t; /** - * Result event pipeline configuration - */ -typedef enum odp_ipsec_pipeline_t { - /** Do not pipeline */ - ODP_IPSEC_PIPELINE_NONE = 0, - - /** Send IPSEC result events to the classifier. - * - * IPSEC capability 'pipeline_cls' determines if pipelined - * classification is supported. */ - ODP_IPSEC_PIPELINE_CLS - -} odp_ipsec_pipeline_t; - -/** * IPSEC Security Association (SA) parameters */ typedef struct odp_ipsec_sa_param_t { @@ -632,31 +640,13 @@ typedef struct odp_ipsec_sa_param_t { */ uint32_t mtu; - /** Select pipelined destination for IPSEC result events - * - * Asynchronous and inline modes generate result events. Select where - * those events are sent. Inbound SAs may choose to use pipelined - * classification. The default value is ODP_IPSEC_PIPELINE_NONE. - */ - odp_ipsec_pipeline_t pipeline; - /** Destination queue for IPSEC events * - * Operations in asynchronous or inline mode enqueue resulting events + * Operations in asynchronous mode enqueue resulting events * into this queue. */ odp_queue_t dest_queue; - /** Classifier destination CoS for IPSEC result events - * - * Result events for successfully decapsulated packets are sent to - * classification through this CoS. Other result events are sent to - * 'dest_queue'. This field is considered only when 'pipeline' is - * ODP_IPSEC_PIPELINE_CLS. The CoS must not be shared between any pktio - * interface default CoS. - */ - odp_cos_t dest_cos; - /** User defined SA context pointer * * User defined context pointer associated with the SA. diff --git a/include/odp/api/spec/packet_io.h b/include/odp/api/spec/packet_io.h index 8802089..0744b1a 100644 --- a/include/odp/api/spec/packet_io.h +++ b/include/odp/api/spec/packet_io.h @@ -1136,6 +1136,16 @@ uint64_t odp_pktin_ts_res(odp_pktio_t pktio); * @return Packet input timestamp */ odp_time_t odp_pktin_ts_from_ns(odp_pktio_t pktio, uint64_t ns); +/** + * Returns virtual IPSEC PKTIO for a given PKTIO interface. + * + * @param pktio Packet IO handle + * + * @return virtual IPSEC PKT IO handle. returns ODP_PKTIO_INVALID in case IPSec + * is not enabled on the PKTIO. + */ +odp_pktio_t odp_pktio_ipsec_pktio(odp_pktio_t pktio, uint64_t ns); + /** * @}