From patchwork Tue Jan 31 08:07:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 92953 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp1817126qgi; Tue, 31 Jan 2017 00:15:24 -0800 (PST) X-Received: by 10.36.82.22 with SMTP id d22mr20279475itb.0.1485850524130; Tue, 31 Jan 2017 00:15:24 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 130si9834751ith.47.2017.01.31.00.15.23; Tue, 31 Jan 2017 00:15:24 -0800 (PST) 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 8DB80607A9; Tue, 31 Jan 2017 08:15:23 +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=-1.9 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 DB4E662B83; Tue, 31 Jan 2017 08:08:39 +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 610FB60C07; Tue, 31 Jan 2017 08:07:58 +0000 (UTC) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0124.outbound.protection.outlook.com [104.47.1.124]) by lists.linaro.org (Postfix) with ESMTPS id 40FB1608A3 for ; Tue, 31 Jan 2017 08:07:51 +0000 (UTC) Received: from VI1PR07CA0090.eurprd07.prod.outlook.com (10.165.229.144) by VI1PR0701MB2719.eurprd07.prod.outlook.com (10.173.80.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5; Tue, 31 Jan 2017 08:07:49 +0000 Received: from DB3FFO11FD020.protection.gbl (2a01:111:f400:7e04::197) by VI1PR07CA0090.outlook.office365.com (2a01:111:e400:7a52::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5 via Frontend Transport; Tue, 31 Jan 2017 08:07:47 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.35 as permitted sender) Received: from hybrid2.ext.net.nokia.com (131.228.2.35) by DB3FFO11FD020.mail.protection.outlook.com (10.47.217.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.2 via Frontend Transport; Tue, 31 Jan 2017 08:07:47 +0000 Received: from fihe3nok1346.nsn-intra.net (10.158.36.134) by fihe3nok1346.nsn-intra.net (10.158.36.134) with Microsoft SMTP Server (TLS) id 15.1.466.34; Tue, 31 Jan 2017 10:07:46 +0200 Received: from mailrelay.int.nokia.com (10.130.128.21) by fihe3nok1346.nsn-intra.net (10.158.36.134) with Microsoft SMTP Server (TLS) id 15.1.466.34 via Frontend Transport; Tue, 31 Jan 2017 10:07:46 +0200 Received: from fihe3nok0734.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v0V87QEC032666 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 31 Jan 2017 10:07:26 +0200 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v0V87Qaq032638 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Tue, 31 Jan 2017 10:07:26 +0200 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Tue, 31 Jan 2017 10:07:23 +0200 Message-ID: <1485850046-28457-6-git-send-email-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1485850046-28457-1-git-send-email-petri.savolainen@linaro.org> References: <1485850046-28457-1-git-send-email-petri.savolainen@linaro.org> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.35; IPV:NLI; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(39840400002)(39450400003)(39410400002)(39850400002)(39860400002)(2980300002)(199003)(189002)(450100001)(6666003)(77096006)(76176999)(33646002)(50466002)(50226002)(92566002)(5003940100001)(47776003)(189998001)(2906002)(2950100002)(575784001)(86362001)(6916009)(38730400001)(50986999)(97736004)(53936002)(5660300001)(107886002)(110136003)(105596002)(68736007)(8936002)(305945005)(626004)(2351001)(356003)(81166006)(48376002)(8676002)(81156014)(22756006)(36756003)(106466001); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0701MB2719; H:hybrid2.ext.net.nokia.com; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB3FFO11FD020; 1:0T8KDrSkux6E75+oBqfzFGUHHPHnd4Bmuu3nYykX72JsefQpsKyS9hnVo93zxflVo1Gg6JsiZUpw8TX0XbsnuBVU4ArohXHaEgCs+PHjQC/P8aMlFel6LMWNDoiBg2UHpHPVjF4QQwYBf27I+SE2zmDIj6w7JmtH8kyUp6h6ZRxOiPJ8Cf674sJzzHoiRMrnjn67Pg7vg+f9qSuDILcNlLI/IwG6BwGYEoIr+uZEDyvkzHut9rwPPgispo5J5VWp3A1YsrNJW/cI0kUNSoBGSjv2OMi64MnILSXwh+ZNKLu0Qu1PM2S816Z2cH2QeitkT0cbsWjZhurMYk34S5z1R1FVKQGRMSlBt7bAmNhX+21o3bzTIwz45EopXVrEX7aZ8XUrtTdNXsvTqGXso8gfhIFtTSQIzVjES80eulC/dmqMY5WPVeZW/WIx34XPWcz+P3dCBb04GeMQ+Qqm8QffMg== X-MS-Office365-Filtering-Correlation-Id: 0d664758-1026-4e7f-8137-08d449b03e2c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:VI1PR0701MB2719; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB2719; 3:U2Fkvmnq38k2tBOe9waoyKqHZIuUuwkbYZZ/hOneDCycL6jg/fzsAqnpPXs6PESjQTs6/TjnPAMYpBcqfRwIBoCYW1a4qciu2GBN/RIzii/dn6WlJJkqQUv9cSzdda+n0oP5hL+WUDildb5heUWm6SHT6wZzxP/3soQejVNYdaZZi486xPVzPbHMJqGTwj1oZT3MSNhgVuP9CVhP22MmemWtTWUCMpC+Q2m59Ehu5Jeh3WtczpeBCtXEHZ/msIuVHjgi443t9W+b+ZbWgsN2+ukWjoxzoO2GZ6yepWcsP5S1Hs92urZKH5/bar3FVCMcoBhY9I55QLToUsvg4f97KHFice/YOfqdJ96rvHKiJwg=; 25:71f9y9M2a8v04JpFvxxzgkQDtTgSCDC0iOKbPsLZVIwS+Noipfme7Ewa3aQ4CX+V/G4Ioc7FmVmORvUdP75XCmttJ9ERAPGRSzmWFkMWBiBI8EwM+YYrpNKPTevD/sfql4JcOWhHKFMCM1MlQCPvG8oe8vh7I5l4VRSooXU/Mv992zIigYJ6QCskM0P8P5qoVa9DB47SKq7nF95Iq4xGplchcgPEOZ0x8RBOu7r3QwmP3qjZUmDURct4Ez41RxaKjJlfxGBsOvWf4eJQDafehYd++7gIvzgy1w39UlI2ZrWcDcsoeuOmpQl1Zmt6CDze9lAZ0w6ojgIUNUn2hFtdxHzULRSq9br+uK3QH5EQ+8PYkqozY2LH9eVCUtW+qV3LoCeiZukeIUM9rO70vnvHmYVE0H+QEqKHjnNB/tDEDkdEk+SmOCg4fTBfKzIbQ74MOl1MGG70jHZpJYDIcFwJyw== X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB2719; 31:GpUywoCfOBlXPSmb8vMp+USeMIC6xvznLFLvhZduyzro5zzlUiJoh5VyU4f6E/0pkvlQaWedsb8N86sYEZxvmQL/T24tAcxPRI7+zbmKAtmYIshUxscsdF4LSxzzHkMj8TGLgjGcxQhdBd1wkdtroI8qZeiyqLQtimz/kYtzl4Rqsi5ysj9QTR7zz8FicijgCf4lBbnDxlRflqrOJd2xcgg5Oz9YSd7LWICOh9wpl7l9AUz1ieVX/VeEL1LeR5gvpNcAIHIwVqkdQ7XccRCloQ==; 20:jGTvoRZAiuWSsh9b9lQ7bvc/X5DnzFlJhr+AWfHFk554TM4tT3ItYTPdkAp73BFc8pSzEtu0eG8qaWskSV1AUoYV/qqnUsSE5hHC3dgyUadFhNWBxFRbwI8MWuIxe0SBUvCSjV8LnSWwIri9ujQMGVMaJv1lqgDt/OoTRLJvdQP8MbAaaSQzSaPyhrx8N5qoLFtjy+IsY58P8QkxJV8Nmc+WkTR4Rj9imXCE+rARzTFuG9MEdyB0xEjE0SlUJliv7q9MLSCkOipeRrBePz1rMZ/AsYX3D0jigdAzGSJtmvWkjA4eU51gRQxwaumqtC8MYUC9lAPNcb6bBFkk8cI0GkrywiapkNuX4Jh+6Ig6kh2p6cnno6XjfxFr6944zGUOiP3Zd72wR0eMTtMgvto4MYCMyKC2mx5Yg4bdFTnmLggSzDp0h+fRAxjcvKFw94J4cmZ9xlq0AMK8jaSFfO7dUgeC2lu8PPexITfX3fZz43NvdxgLexJMacjB258EHriqfQ8629GsQEgwF3Wfvt917WCQaLw/CGtuiq3FB4PSD6Aph72OGyWbdrwIbuJ1GB5RvyOrnYPjRtc9ZlNiHV7aZntE+u58SVzHE0L7wXk8v8A= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(13018025)(13016025)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(6072148); SRVR:VI1PR0701MB2719; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0701MB2719; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB2719; 4:00/v413B9dgi0auja1NvFjD40sB1cWKRhybOulXw6VSOS05vj2JCzZIQM/l3lx75aLkoDo1BR7XinNSpGLQAwuJrT2aRfv1mCXeHPay1KeE69PMnXEC3y+Kb3GpmwQytK9GqaoehDz4FcOUYeHEjsVDFqoFPn1FMFJznIxQ44XdZBQJHJ5YzdIPx04IHy/6CjHVC3GQswGKolwwjjuIWuFDziYRSB9KUWUmpPr9jaWPb2kaJWImZ7X4tyyz/Tfw+PdJY7CLT3/OyB3eFaz8dD3JVhXpQaX+29VOTNQMfZZMhgNANajDsLs3AISZ9lIMxPfD6g7TjTxAOs0hHARsw1nS7nl9HBVpmYUitw86MFCUOPgtreKt6/NiKol9l+b1egtZyV0oKbWiMyU6byOGLMb3q2/cwQ1is2QcJjOvS5ROS0rmmZ+/sxYmRlbqlp4hE3t46tQMGOsS55aJjdFnv0VR8FiRfftAKIJFVZ7SGBAO6lYoUvaovuomoeh+Q/hwIKQzhYLJOOtymDeVE6s5MTGuASp8UWUtRk7njxJrqVlyryuv0gxK1DvyTrHxMY7VbOCFaK/VdWHnYwt9JYym7vWqwUr4d9fXUQRdJ5aLTy7a66GcOxT9W0/P/equLLESc X-Forefront-PRVS: 0204F0BDE2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0701MB2719; 23:57RwwukdlcPfk1J4onia49rixfeh125qbDPZMU4?= Yg2TMf2uMAN4M6vYu+Ja1k4jbFG63eGJHr6y29VA6b7c0JOCzVITOkuXQmTdypz/9goY34YDLfpwLCPSKw9a3WqlVOtQCVpq0LMl00INfAIaStYFM2alKgKqcrIistlEBAWxzNLDMkck8QRiG3BOAUy8c2MedMduy74xdnkNwjmfA1jcNVtxL5mikLF+1MX3Wy3AkzvV1kB3DUthyEB2/ESNUPH4oWVKkZbqtRmf7WYDx3MjgQnjSE7RsTC83KnD8UE7mGC9E+94HG5zcPxLnQUzkM97MiS3eFZtf0OUZltstexm9QxjiOA+Yn1DMbj53PQJQ46kukrfD32zYmJNV7S1jcngsrQKo9XIiusuyubJwdiSUuyOQM/EHnwLwwC2056yfNbSr5xvEkUSs9QldK9wMCr/AkBbJNXnM3DOMg1ud+gUMNevg3n156adUZf8wuZIzBMfQvdQKGV8tJwGfNSJqWzW35BvNk21ieMtNE1CVXbLVlPe7HJGw27ViPaorZXOUk4zFVrbOlTpqJMn1O36oQuW7PCGKBHy2xZzk/YMmkXpr5+/dt32Off2VIIs+GIydpLxEvl5m9Zml5XgvGoE9HD2omPf6D4ISXYW6PsegyTggU8SMxpcs7PgY8QVsd6POE148/4ZIN8vHwjVcnlraIB1Zvz/C0NRQgGlPLP4OtvoiJl64EXkSgSAhKMCRX6k5x+Dh7gJGlIDQRUvMgR9xzfAhymMIW6Nbi7Ki+77om8uqu/xqUqTqFlpT9PEec1mEqfx+KaV9YQwW9FREatnjk+TBNbZ/9zDAY9Q1PagNeMvU1F5KtH0MMe8KHYv7yXdbE534Z1vU8fastxVApbGQCn44CCfFJK7CucViJiRi7Wv7lfSszTXFinRxeG579wyYZHNmuVRZ6wQTEdWlH8VJ7PT4JvnI7LoLjbyfLMrLShvtQN3C4arcIJUGyZIaL0pmc98oTsYFtivXuVWZmHP9J9M0Fbk7aB/SiRHhksv9GptQgr4MYZ1x/+Fpn9r0IV8AKZaiT0CbJdrbKhMwKfWiP5BysembpDFImMHQHJhsD1TcbO/DJHQTSqWyUrMBO6NLsZkD+ltCevV6yA8mvuqEHEMi2IqJ+IuF3qgXjD9DSg== X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB2719; 6:F1lTip7Tt2l3qKT5hucbnuw2UFn7yjhpBQEhCm3+XAZqgJuCiRo5WNT65UfJokz8M3hL83TXfxZO2VoCZJllumnNi3+7oQxPS8n/fm6gfMozeNwK677x5Sv9xwcmmtXebGsIonJ7LgW9U1XFz7w+eLeqXpQzZRhOthRIaUGF+S4MqZbRPrUVWZbF1nvb18AYtjwy+MzZThEWECcOn177cQW9gs2E7+MlUxnZFNk048G1mMyNHx4b0zsDbcQbXGhP3JtPX1eyUoddmA7WlASWahzs/O/L5X43BrmwoB34h4yN8ywOQyNKU3AuCcROGpSJcSZShQWiHQIX/AmkPfi+EVYrp82VfLoa4ObPBD/tN4yRVcPuwFDF8l1KFTHdB0v6oJ3cCmgiITHA+AgIvXRCldRrgOAu9RLbNQ2nXvz74OmpnD6u+URDKB/SzvXuF7Ae; 5:mKTvsYB2uZD3u/i08ect3ovg2+xVf429gKl1mIsqRIrIEAIvmBt1ZjbXouWeKEc33yIfIzvT+yDeucEDx0zJ/L8eWXQI1Sy7439cJ2tp52DZXho203Be6y2YSCZOWjGP8omSedSrFZVukF/v8e3ASw==; 24:suxEWaCivg98sjRjW6wW7EBgOalG84QPFvYBuwdqJydGBRE6OUg1AV9U7OTQ9E1QqDk3DLhzbu0hIqi/pDvEz06HiIXuKxvIAoaAAJZY1hQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB2719; 7:JjqEk8d3Ru/WUOMjUTu1HFhSiSJwiscNY9sv4goP/JY9Qa4C1rfOSD7H7tWYlSycncb8Q7W13kjDpBD8htCp+uQzox7W3jICj5Y5I0JK/OQbXZHcscoaib3c26n+73z1uSuuxFtRke6Ge5G54xun5cF56KvYR3VxabMXZGW6zd11mynjrAziDq5INfa2+2WEGu7dwsw7iBYV32FU+ivKRWhlxZWoOq+t+jAL0fBcSn+rtQUOPoqHLipqdva0T+4VXDufb2eXFVgCHi3BwYv1XBatYfXnNZTcR9feXzd1KwPbOg9baexvIJRizR5trkXeJfeWn4/4wlg81B4m3GaYLU2mgVUgEMghRLjpB1wxug0vpBBwrES9pgyPzTU0Y4+jwhA/nrpLcwdeljMpc2n6duSHwNFmjnKO3A8OjCzAyvUkukvhfqdshAeiRmX+ftAPUkdnDyEMhFkTyDPVRfhHa1fQip5+s4HJkHnVwRaXkfDXyXAK7KyggjSXbCY/9WD5hu1SnPlUDKS3CvL23FWBde8YWDGyBuc8gsDz+CSA/usGlJdkE1R6qRCLEISFdK0n X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2017 08:07:47.1166 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.35]; Helo=[hybrid2.ext.net.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB2719 Subject: [lng-odp] [PATCH v4 5/8] abi: packet: added initial definitions 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" Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase. Signed-off-by: Petri Savolainen --- include/odp/arch/arm32-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/default/api/abi/packet.h | 47 ++++++++++++++++++++++ include/odp/arch/mips64-linux/odp/api/abi/packet.h | 7 ++++ .../odp/arch/power64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/packet.h | 7 ++++ platform/Makefile.inc | 6 ++- .../include/odp/api/plat/packet_types.h | 26 ++++-------- platform/linux-generic/odp_packet.c | 10 +++++ 10 files changed, 111 insertions(+), 20 deletions(-) create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/default/api/abi/packet.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/packet.h -- 2.8.1 diff --git a/include/odp/arch/arm32-linux/odp/api/abi/packet.h b/include/odp/arch/arm32-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/arm64-linux/odp/api/abi/packet.h b/include/odp/arch/arm64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/default/api/abi/packet.h b/include/odp/arch/default/api/abi/packet.h new file mode 100644 index 0000000..60a41b8 --- /dev/null +++ b/include/odp/arch/default/api/abi/packet.h @@ -0,0 +1,47 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_PACKET_H_ +#define ODP_ABI_PACKET_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_packet_t; + +/** @ingroup odp_packet + * @{ + */ + +typedef _odp_abi_packet_t *odp_packet_t; +typedef uint8_t odp_packet_seg_t; + +#define ODP_PACKET_INVALID ((odp_packet_t)0xffffffff) +#define ODP_PACKET_SEG_INVALID ((odp_packet_seg_t)-1) +#define ODP_PACKET_OFFSET_INVALID (0x0fffffff) + +typedef enum { + ODP_PACKET_GREEN = 0, + ODP_PACKET_YELLOW = 1, + ODP_PACKET_RED = 2, + ODP_PACKET_ALL_COLORS = 3, +} odp_packet_color_t; + +#define ODP_NUM_PACKET_COLORS 3 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/packet.h b/include/odp/arch/mips64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/power64-linux/odp/api/abi/packet.h b/include/odp/arch/power64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/packet.h b/include/odp/arch/x86_32-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/packet.h b/include/odp/arch/x86_64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 29ed347..03d9376 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -65,14 +65,16 @@ odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/default/api/abi/crypto.h \ - $(top_srcdir)/include/odp/arch/default/api/abi/event.h + $(top_srcdir)/include/odp/arch/default/api/abi/event.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/packet.h odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/crypto.h \ - $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ diff --git a/platform/linux-generic/include/odp/api/plat/packet_types.h b/platform/linux-generic/include/odp/api/plat/packet_types.h index 864494d..34e5dd8 100644 --- a/platform/linux-generic/include/odp/api/plat/packet_types.h +++ b/platform/linux-generic/include/odp/api/plat/packet_types.h @@ -18,11 +18,15 @@ extern "C" { #endif +#include +#if ODP_ABI_COMPAT == 1 +#include +#else + #include #include -/** @addtogroup odp_packet ODP PACKET - * Operations on a packet. +/** @ingroup odp_packet * @{ */ @@ -32,13 +36,10 @@ typedef ODP_HANDLE_T(odp_packet_t); #define ODP_PACKET_OFFSET_INVALID (0x0fffffff) -/* A packet segment handle stores a small index. Strong type handles are - * pointers, which would be wasteful in this case. */ typedef uint8_t odp_packet_seg_t; #define ODP_PACKET_SEG_INVALID ((odp_packet_seg_t)-1) -/** odp_packet_color_t assigns names to the various pkt "colors" */ typedef enum { ODP_PACKET_GREEN = 0, ODP_PACKET_YELLOW = 1, @@ -46,25 +47,14 @@ typedef enum { ODP_PACKET_ALL_COLORS = 3, } odp_packet_color_t; -/** Sets the maximum number of pkt "colors" */ #define ODP_NUM_PACKET_COLORS 3 -/** Get printable format of odp_packet_t */ -static inline uint64_t odp_packet_to_u64(odp_packet_t hdl) -{ - return _odp_pri(hdl); -} - -/** Get printable format of odp_packet_seg_t */ -static inline uint64_t odp_packet_seg_to_u64(odp_packet_seg_t hdl) -{ - return _odp_pri(hdl); -} - /** * @} */ +#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index 34d720c..8833822 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -2211,3 +2211,13 @@ int packet_parse_layer(odp_packet_hdr_t *pkt_hdr, layer_t layer) return packet_parse_common(&pkt_hdr->p, base, pkt_hdr->frame_len, seg_len, layer); } + +uint64_t odp_packet_to_u64(odp_packet_t hdl) +{ + return _odp_pri(hdl); +} + +uint64_t odp_packet_seg_to_u64(odp_packet_seg_t hdl) +{ + return _odp_pri(hdl); +}