From patchwork Tue Oct 3 06:33:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raslan Darawsheh X-Patchwork-Id: 29507 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 156A11B2E4; Tue, 3 Oct 2017 08:34:08 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40076.outbound.protection.outlook.com [40.107.4.76]) by dpdk.org (Postfix) with ESMTP id 101471B2DB for ; Tue, 3 Oct 2017 08:34:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ZqmFtID07Msj6NDNMaA0PlV6UyBGc9PhAPnM7Ro/axs=; b=uZeOrWnUYnAH/0f90VrEwgotqf6jB23uaiMn6aLmSlwBtIcXB5YwzF2MoR9Ei0YUaXPeCwGIOTBNcU95O/fi2eFwzH2QWQmVn7ZanCFQB8vhSpxXox51bxY5yDtQYYowPP3vODFIwQPSRmof16a32Owg9AAMpRbendiFuBIT1W8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rasland@mellanox.com; Received: from mellanox.com (37.142.13.130) by AM2PR05MB1217.eurprd05.prod.outlook.com (2a01:111:e400:8450::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 3 Oct 2017 06:34:01 +0000 From: Raslan Darawsheh To: dev@dpdk.org Cc: yskoh@mellanox.com, shahafs@mellanox.com, ferruh.yigit@intel.com Date: Tue, 3 Oct 2017 09:33:48 +0300 Message-Id: <1507012430-8421-1-git-send-email-rasland@mellanox.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1506617303-32509-1-git-send-email-rasland@mellanox.com> References: <1506617303-32509-1-git-send-email-rasland@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: DB6PR0202CA0020.eurprd02.prod.outlook.com (2603:10a6:4:29::30) To AM2PR05MB1217.eurprd05.prod.outlook.com (2a01:111:e400:8450::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de47ef47-e117-4e39-0b95-08d50a28bccf X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM2PR05MB1217; X-Microsoft-Exchange-Diagnostics: 1; AM2PR05MB1217; 3:b8XVbiH6T/tDFkpNeI7Z8/solsYMaOWgHcK6D59FTpJTJKBODMG1fFkRc3n2/VqPVvj+hqvXdqN+BzgbT/X7n8AWEyLG3l4yFte3nerb7bBrCfgFgdcR+O9AWVCCCXtSJmfWbxigCOvASO7Os8ML5UsHxZ0cB6y6IQfUSkiqUx9LNaLqlgZQC8Qpf4+XUGslD6g4jLJmAv+0XFM/RUknKtsvblPlK00VMlss+yqjeevSdh/LMn3dcZUIxc9xDMLg; 25:R2IKqOrBIVpGHADtPJdjq6pwjXJRM1uZbxyxF0yzxFPqeRyDujl4VOFyq305so7N8KdilQdh1NW2WkP+1glOlstCei5rueSSLyN0PlXnH9u+vc7iQy/6IjQOWFkibSTULz7vNspJF0VLDV+qn0P13o0dwG4rBttfqDe7p/Bceqoi/w8rt0IXtaJj2l8Ok3fvDhsSIf/nsX0k3ABlvFR2xEeBa+nid+rfhsFU51y3eI7XBqwr9hueQeJznrIlVeQJcOajHJRJsbZw88PUBVKyazcdCM1xL6aZUmIFGIcQu/acGoKF+H/DQMTXdbiNOqloopbtLbbPuRQXGTnfruaNcQ==; 31:J0W89gTDFqD9JxJrQIxPtlxXhZJq7cuPjD8Kwc5GPpbHBwnva7hbCrn3xm0q2K55knziEhtmvwWeI1F+E0DEeBOQ2Oa74n6nV7ZDNog3QVK1zhZxm6tUx1qshZ8ijIWhDCxTVD1HCiaM+72J8At2ZFUjwUJk+3OIOxVPHxGqvyHXKCLutTM7AzjiSsLD2zahtUxOByN2OvzkPnL6qB7N/2SuLJKQpd8x8pyA+9Jy+zg= X-MS-TrafficTypeDiagnostic: AM2PR05MB1217: X-Microsoft-Exchange-Diagnostics: 1; AM2PR05MB1217; 20:cGDvmDurtfH7VrwBPdNFC45SJaI6v78tT5Q/lbJYxaElI247cBfeKLEaF74Mv5saxey9rOgjswqwSoOCvP8t4WtzzRTQqqh6MlI1GdcRdth92QwSQKL4l4ycEhYjSHy1BELYxg3oTMDNAJmemmkRf7+h4FLge4rnrgp7no7aHWH58+TpRq6Du9/BWXiHnWviQRvwFSSNm/B/Zbv2lEjj1rNm6i3Ubm4IuJzwfGDzXtXsocs2RRbXwj92Cp9Q6gaWBZ8mByl+/NEdON7nHnksLG3IwjrGgZg/sZMMfBu7lwyPozTE8+iww+8M4mINDiVKoXMOrHZklEAY0mDG682i+GRL4AsVjoGEY/Ivj4YJmrPCHglEjLklMwMyYE0P2+RwbBrlSK8O5Rz3UwzKXS8GPXrlmKMu4NvTPexntxCp0ToAjNnRtmnGe2qmHCbE5/kveGMvb/2FjZl12yjmEzhS56Ikv8BDHOhqmBq6RxJccCnb9on17kTVSrtDacJD+g3b; 4:dLUarvMXPo0ulNJ8Et/9J4E8DoOJexcgW0A3wDDr2BkSEalcwU1OJv1PHrMarSCCBbyAhzNWTxbQ/rImQaU82aKrJyppshDl5eUhAjloEXHFp/gCBFYHDUtJBQBxhNooGr4M8c1d9OoRon78ggTYnlejScCvjREMKck0CVMaob2G2EQGtl8LJlJ00u+4hgCG5b7fp/EAk6ymXladhtUVySlcRx64urYf5frKIqjIg5I6kjuoJ81u2liJrqWv/mbV X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6055026)(6041248)(20161123564025)(20161123558100)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM2PR05MB1217; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM2PR05MB1217; X-Forefront-PRVS: 044968D9E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(478600001)(33026002)(6666003)(4326008)(50466002)(966005)(2906002)(5003940100001)(55016002)(6306002)(53936002)(48376002)(36756003)(7736002)(21086003)(53376002)(66066001)(47776003)(81156014)(81166006)(8676002)(305945005)(6116002)(50226002)(189998001)(6916009)(2950100002)(25786009)(5660300001)(16526017)(3846002)(76176999)(97736004)(33646002)(16586007)(50986999)(86362001)(2351001)(2361001)(106356001)(105586002)(68736007)(575784001)(69596002)(101416001)(8936002)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR05MB1217; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM2PR05MB1217; 23:SExI2BWAsDcayYRiu26dKvt2mMg6zAkbKXZc6yNs+?= JzLOlGDtKz6FItdsalF3pqMoeW205aLA/pyVL6jJIlLLBqeuT7Y3rulwijNvRll7+9u716v4DabLXXRvZtlfUEGZl7CZW7FNffdV5brsNLgvQ2v4+gY1nyXkGacPJGGjBznw9Qrj1DX6uCmnkGqNirbvo+gEvH8Fp9vk3jiOmgNERsH3uFwakHcYYDIutmZoNiAN9zZq0x79+9wXaH8VKUcJ6DF33fo+hfObQ92BI1Mz9D5rgH3EvtN3ssQcdku+I4+SGjnPDA+juWqjN+azgZz12JXbU6qepKdqcsUdR/CsvyKHibY53cDe84VkN7JUkUOjs3SqOYcQlj6Akq7cNGU/rHbKKij5q2cABUFk8c3poS0Zp/jbh3u2cNF4/8EzhfuyXDfyIoLVWxW2IUNuMUmESlu63qOxPudmv/Qgi59LMwoRxTAkKMUHVl+eO+LsiUHPWbJyKuiawKLaGwwSrbsSBxIpciq6sdjCYS/KeEBZJY3RoEO62PN67ri5D6Qh0xRfxxEbF8Ht3Isad17cswDWYRQ5JVftrN4Z5qjyhIo5qyOJPT+YFTAtOlRr4DXnbpQ8M2m5X0RUd/AiiCcKwiJ+O/2oZGNbV+GvTXBSLVzw+J9I6JerAtz2a7rbR0wUmNmCwYR0f6BePFJ34mJIMNH+4wdT4VsB5EhNpdFY1WsEFuTo9i52ditgd73vQAaGFJ8EbxWqjBMJQYtzaTF9lAw2olHxZ27ROwbKTPn30BfY996qwdd+JZO26KxOsGlnzwKmcpz4VRF+ReV2tyH1+khmEJGLIBCdKAfZXK9k7kNVFp3r8oEQ1jkGoiRTZd8lTUo6qcrai5lHefbDDSd6hl5lRMNROSxO22sPjYOr15DUGp97U3OcHqKOjHixnUukpm7lSHfAIN/jePYuGDf6/SWs22AQnIxNjHxkZr/0gr1yl8kZt9qhGx3Uy65uYrd6vDEaIZxyl4K/tT8cDBIJBrwfq3bAI4Pf85SCHX0RGL89CiWexLYgIMqfyP1jpmsRSt3b1nECkUm3UYrvN6scARLnrSU8TPlyb7BOXwN5vvywIUepHUID1RhFZpv/zrgBPfKzntPnnu2qIoZsbA6Dl00rDgWceWgYLX6p/oIUQm3EvVKn0rOojYWGH9kXouIwnMxT07JeSxrjGx67+1nJpKX X-Microsoft-Exchange-Diagnostics: 1; AM2PR05MB1217; 6:EP7lxeeGWPFmIXYBiyldTF5AHKtcgjuGy42oB20axOh3eet6K+d06GjWFXdjD5m5mPw5yW5Gyd8Ar65358OdrkSxVpJ5GzvRloF9E3g1k4mz41UXoWrMh5O5v/ZKyzuxGpmGRpiYjm5V4iFCX0HGdetzgHiL629jL6TCsT2qXfmvOWAXVSSLwZKxD8JQLVHLN4lJ9AogcRClXnWNP1RZM/EKx99+iqfYkq6PPA1Es2CJop5ty6fvybcHz3eJ29al9yWmAj/J9zud3lO3YCYGZLtnMC63GBG05vcUFkqE7NDnvzSXkh77C4n8goJrUdYs+HmIOOXoNfY5Caxl/0ubLA==; 5:hDXreXbH7o33VRtYs6i1gIR4i60WqV7X+EJRhmd8r6w0Pb+9oSxncyz8c4MmXCOGhIFZdRDXe1/Njb+yWATB6oxSTSdHAlxSvFS/JASm673gm3NSVSSB9r3wkxxEzJcvUkMXZi/T/pkdJYJ9ZV9Bgg==; 24:HrPLA2TQzaSKI01ZUxt/K4JhOBemEPiD5hoXGO//9UP+HX40vp5D9Ie2myndVlNbs84+APjMHsfWb+58GcOE/RJ3qqKORJOmUolf4qA6sWY=; 7:gWX8mq7iHAZrBBjr6pZdxJZjevcDfg7Su+m/krPnl3YSNpgAohDJPoZLudbG/UzP+6JtJkQsIXdNZ+v2Qf1KLAw9ynzP3LnU7FAnuoiwdXcZmdAWzWVLIFAnlmuOB/YiD3wVGtTLq3IT2TAmdyBfRVp6Jf9s1b8Ehp083//r8K3p72s6DPPqsI990u8fY9t+t7koLvY4STBUa3jDJXTBPWalVb2cgyfhpJBkgyNXvMY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2017 06:34:01.7323 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR05MB1217 Subject: [dpdk-dev] [PATCH v5 1/3] ethdev: add Rx HW timestamp capability 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" Add a new offload capability flag for Rx HW timestamp and enabling/disabling this via rte_eth_rxmode. Signed-off-by: Raslan Darawsheh --- This patch should be applied after after this series: http://dpdk.org/dev/patchwork/patch/29368/ --- doc/guides/nics/features.rst | 11 +++++++++++ lib/librte_ether/rte_ethdev.c | 6 ++++++ lib/librte_ether/rte_ethdev.h | 5 ++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index ba0d19f..fbdd6eb 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -566,6 +566,17 @@ Supports L4 checksum offload. * **[provides] rte_eth_dev_info**: ``rx_offload_capa:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``, ``tx_offload_capa:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP_CKSUM,DEV_TX_OFFLOAD_SCTP_CKSUM``. +.. _nic_features_hw_timestamp: + +Timestamp offload +----------------- + +Supports Timestamp. + +* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_TIMESTAMP``. +* **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_TIMESTAMP``. + ``mbuf.timestamp``. + **[provides] rte_eth_dev_info**: ``rx_offload_capa:DEV_RX_OFFLOAD_TIMESTAMP`` .. _nic_features_macsec_offload: diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 9b73d23..c5c5164 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -715,6 +715,8 @@ rte_eth_convert_rx_offload_bitfield(const struct rte_eth_rxmode *rxmode, offloads |= DEV_RX_OFFLOAD_SCATTER; if (rxmode->enable_lro == 1) offloads |= DEV_RX_OFFLOAD_TCP_LRO; + if (rxmode->hw_timestamp == 1) + offloads |= DEV_RX_OFFLOAD_TIMESTAMP; *rx_offloads = offloads; } @@ -763,6 +765,10 @@ rte_eth_convert_rx_offloads(const uint64_t rx_offloads, rxmode->enable_lro = 1; else rxmode->enable_lro = 0; + if (rx_offloads & DEV_RX_OFFLOAD_TIMESTAMP) + rxmode->hw_timestamp = 1; + else + rxmode->hw_timestamp = 0; } int diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index ffd2ee5..bd63730 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -368,7 +368,8 @@ struct rte_eth_rxmode { jumbo_frame : 1, /**< Jumbo Frame Receipt enable. */ hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ enable_scatter : 1, /**< Enable scatter packets rx handler */ - enable_lro : 1; /**< Enable LRO */ + enable_lro : 1, /**< Enable LRO */ + hw_timestamp : 1; /**< Enable HW timestamp */ }; /** @@ -924,6 +925,8 @@ struct rte_eth_conf { #define DEV_RX_OFFLOAD_QINQ_STRIP 0x00000020 #define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM 0x00000040 #define DEV_RX_OFFLOAD_MACSEC_STRIP 0x00000080 +#define DEV_RX_OFFLOAD_TIMESTAMP 0x00000100 +/**< Device delivers timestamp of packet arrival. */ /** * TX offload capabilities of a device.