From patchwork Mon Oct 2 14:50:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raslan Darawsheh X-Patchwork-Id: 29480 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 986231B245; Mon, 2 Oct 2017 16:50:55 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0059.outbound.protection.outlook.com [104.47.2.59]) by dpdk.org (Postfix) with ESMTP id C81791B239 for ; Mon, 2 Oct 2017 16:50:54 +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=pGA0OwxLR8lXnqsMyd+THGJBjCu1NskRMJ502IZR414=; b=UCMHHbqp+jIh+I22gHA24E/v8bytzSsBVw1qMb9i3MUTS/LyJR4NOvByUl65QisMkDGk4xgFIi0GvB3TKeR7gaDyWG40aPumJYQhdQmzEUD2xRTwIeiutAfhEkek2PNMJpnP1LqrtXxDmFzZWpZa+h0akdv7qZxkXsrszMvP01s= 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; Mon, 2 Oct 2017 14:50:52 +0000 From: Raslan Darawsheh To: dev@dpdk.org Cc: yskoh@mellanox.com, shahafs@mellanox.com Date: Mon, 2 Oct 2017 17:50:39 +0300 Message-Id: <1506955841-19683-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: DB6PR0801CA0051.eurprd08.prod.outlook.com (2603:10a6:4:2b::19) To AM2PR05MB1217.eurprd05.prod.outlook.com (2a01:111:e400:8450::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 14da7c66-ba2f-4bb0-afdd-08d509a4faf2 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:LzINTGkiiw14BMXFTVTBG6dil/VuSb1KyU2ZU7Dpa+hj/ueKpX9R82EHBpdLDNEdvcYFuqOREWRAavGy3aL6yRIgasYhCJ9hGjezY1WyRU3SBwimAD1SaH1JFE+0tNdueLwKFPgycCMvm7yXZpE9hTYCyMZpe+VuY+n5zaKJxIccQBJH2rUzWNU07QsMxJCRwDamqQ475v2p7Ip1yrnihAxJrZON49xo4jztqUhoDFF/IbWS6vdAYtakLD4dXj2c; 25:CO0i/1fJgqY/oIn4ayqw3MFCCwD6UdhNppN7czY6XEcGI2makP1Qg0D6wPTF73i5ROk4aRhM4PdVl7UpTHqNEShu/P+OZ9DlcZJNGbzwt3fICHy5pMA8u9mnxfQvH54VEWTtm2KBUKAd1MOX12bo6hgxOHwVs7N6lVzctA6logZU1lvjnWRe3j4KIR1vYv84zGeXEA3M1P7K3kU+Bjbm9Sxf8ddNy4hoqHPzRVykbimfAZRqm8Wqt3VOt8NnBtnetBsKEyJLdWnwMHbAoZ2/HNmNF8PSpAFk04weV5/W3tlaNm1WSRskTVdK8HRyL+ObMb5CpahesN1iUQhFYeVr6A==; 31:jOA7QxBlOJf/pOBSN39d1lI9Mur6IQOGfn/wJWX/6CpHi6SVXsUrySMgjOzzMslUuy11zrNpcOoJa74V/WHFhBn562VT9Eq9wwO+ANgFcfch73D7XkVaNt6d1MKQtfR8oyNwZKbzfKSHeWd6Def5Vu2JgWtA2B9LSAMSoYYPdIDON/U5vSjXk7l6ItGprKvBJnanR4bYlA/K8bqfG48W2fN6t3Wyl69j0j3CSKCDqhE= X-MS-TrafficTypeDiagnostic: AM2PR05MB1217: X-Microsoft-Exchange-Diagnostics: 1; AM2PR05MB1217; 20:ACYxM4XxnXmzmLu2sHfMXbKHT3gzmG418PiBYu7vz7NZORnbULy18jebHTSujF3JnEqIH6Y7nRbsFFZrjjHhln+hux0W0RSLaxb5qjwYZ9HxUrl3nbJmFlHi+A5c7uvltNQXEDHxLHcra5oomCjoL13aVg1KASaf5pyDdgeqS8Km6y8ZdoFMfR+x+Y9iztADxAOqBuk5njLGVvDN6ykbY5ZC9NM23jEgONQS92Iehbhr3EsBxnIz2AS4HierlIO3ZLRVGphedRFefIQeYrnvmFZRXC2/2cBKuFbqmF5ROYJ/pX4v/en8/6FZc4ur1Ld1qYyVOtfBYX/68ejLa0gF+0isvlvqj24AQYh+mZO+gnmzulUpO1dKf4RqiAydamCbI+UHi92LuXzbSKnyaZD04J3Ksl2VmAghLPnXR8k7WHww8x7PIf4L3qT9BkyUaH4EP/gRactbEMH5+e8HifUU2kzMtPn/oediVoynim1cI3chbNkncy4P9qLZbqIIZjzd; 4:eds17sqkQdVoILgRtlEPnNfGNtw0/Fj8Rq3rDyTeHJZCGVNn5P8M1vQDZ31fD5CLFiKLMyd+ltSn/LvDQQgstdqn1l7xyLaZLIXRDXIG4bqy4yNIt0zCZMOLVfjo78onMf3CDcv9si/EbcfxaPul/GC+5qLPM9mbuSKPxNQEL75qbRMl6bCgyF1qk6kM4sQHua0hdJX/mkcPx9Sv5CvMlN6TU4WOP3+DuwyrTJYxN6yrpQJEg/Exk3GIWq1dZTXL 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)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123555025)(20161123560025)(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: 0448A97BF2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(6306002)(5003940100001)(5660300001)(6666003)(478600001)(50466002)(97736004)(4326008)(55016002)(53936002)(16586007)(21086003)(316002)(48376002)(36756003)(53376002)(33026002)(6116002)(3846002)(16526017)(8936002)(7736002)(47776003)(50226002)(66066001)(105586002)(2906002)(305945005)(107886003)(81156014)(2950100002)(81166006)(25786009)(8676002)(106356001)(68736007)(101416001)(69596002)(50986999)(2361001)(6916009)(76176999)(575784001)(189998001)(86362001)(2351001)(33646002)(966005); 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:PigyJ+uBKWSOSO5+1/1iWjqyXGyuvGQVlA7i/ECUD?= 5RI3vAyM+9PM4lKLcuxLw7de2qOeJOs8cdSR2w98a9yf8Vt/jMZhYEfew3gWTM8FiXSOSpmkAGgaEyRXL5bbfsyw+UzrEFk4C1tg2HsiKCeW2ZpONvn4+AOVQGICl3B45UNDRr45IATzTUeN5eFRgLMIyJT+i+1Zl3xpUmUzS5vw/ZUCMFSmgNdFLVSuw6+XjaDCsGZpUQowFrPcvHb89R9VyXHfM+2GBdPpk1UFLJETJEbpMJ4cXM2Q4wgC+DSa0NmMtInQAbeZZ/zOfJn5pNucyUnsBxaPglNEtcqSXQAt28uvFSCjnHi46gn9AytfGZSK/XGhcvlUoFQ7dUT+Dou6OaDaKYBOQpe7DniFOcnnV1QW7bWBdTJp8wbXKWGrzDaBUbv+GWAI8eUrbL1UQihR+3kz019YqqusyLstP/zx2gJVkzILLusGibluWgj+PdGB9xwXYQkLJA22j8NsVorM/MlLtIrRqYzS83KdFrW8O868oRa8nwStMdd7R/YtoRHazSErVhJAUAjEhMvUs+KmQujSXqdYEdCcg2odjGM5XEUZ6eIalemMDS9LS9eQNVF4AO3WthU2zS+logDd2bD/W6W5KNmX2iNnP5QnUikqAt8GAQ41EpqDxoN7Qejo792eCM9ifbeR803DRR31H1hO7+Ok5LQbo8l/6/IZCC2r3BakzOFku+fxLN+JVgNM6prMeA5X30aR+bRYx0B8MG7rLr+sH7EArkHbbcm7XSTYAiQ1ELjeUeGghNhmM5Lh4au+fKao96jCHanCF/H5LF2UNl2/1yXsPuF8l3FwtB0h7YwQXSZv00pxGt4jAU1xV0VVCjIvanZSi/nm2NsMQ7EZDl0JKaQsnDu1lfllzfSaMnkq3wi2FgXTocRi69loSwqg5MVo4lqT3wrtDh5mnQAnWjTxikmuoFqCkedadVL0BUozjwhVHE1kol1CAsUIGqWCJKmSLi8kME4k0iJflZKxnrZThm8pj6w+pkzFR/erwKo6XrOHbHCGF6Z93yLfyMgxe8SKgIscKd9wIFUlw1FNwTjsWQi40bgYaXOzPEeO2aaNOCsxLjO37nGM2zOOJU26PEQpH56/afakKNuyvHGN9gGWlwfdqVicgIyaoackSakPVLIF8Lw6sz+lvQ19uAuY5j6TMMzICmlp9NSrYPw5jo61lQhXpDVr1W/Kn9P2wwtjQnFpuUGSrpgEhg2umM= X-Microsoft-Exchange-Diagnostics: 1; AM2PR05MB1217; 6:htFcMOVbcoFtPqQgMAVFZCSd2hZkdCfk7vV0hqLyQvNhifOxwtEfql1+oDCD4/VaffJ9cyLN8ZB2E2sq305x3bKPkjo6U+O34zOsgyd9vOfiwpQXThGKEz2thd4SdfPB37YXendqy+ZsFOqiTROCCVac6oIqHM4KlogmTAntSrGhIe3G4m4XJcRuNXPBSE4Pe8lp/hJktMJbQqYrR/ZCUi1zBSonMUuzArfr40uOZeAOTRZmay6XkK76BSn2v6VRW0fAC3ybjw4sIshG1FugzbQ+ZY0UhjM9rdTNrRXc4A6WgIduv0m8AlI2bjhiVlz4VKkir6nCnRIBT8Qp+rz0GQ==; 5:iygGlB8iaywE2QLPGInAJQyyb4xQNaVwGI59KqYNJv0xaftxez9e9Jdc+U9CdP99it5uGiUB9u6wNXNMnG2h3HEcgH1p1kqdW8JrfBIyaSnrvUo4l5u0Itr8YhG2NM7wT80MZMJpe8Aznkn8Y+xEvQ==; 24:ct1VKNEjf6BpSi+iV2SWQkuDP0/cxOfl0iX4kJSafnxcXf0w9pQnROIMPg2H5f/Xi9TR3aW1B+DSOpp13EnlR19ops/FK785ir6PBE7dLJ0=; 7:FTUJ6/UWtdzvOAtO5eM3ntQ0Z9XGTri87eaDPE4TZEoghzY3qEjZ3rKSNSwpHezX+uvP3mnYn/JNt7+JK20SBqfKhGmREiM0FCCINhHHfP1vUX6kK4M0SAZ8Pr69mbaQNHsADXMDJLhSMFctApHq4wv+jubD9m2Y9AxzALP9RBbebudvAeNKlr1XwUk+Pbk6jDaFsMNJ6QnNcfiRf/hpH+ls//8cXnssw4UFWDRvENI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2017 14:50:52.4632 (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 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 Acked-by: Yongseok Koh --- 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.