From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20072.outbound.protection.outlook.com [40.107.2.72]) by dpdk.org (Postfix) with ESMTP id 11AD31B30E for ; Tue, 10 Oct 2017 16:37:21 +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=jcBFTrD/FyK7cUTQV1fHJClQUdnyjYgnJeN7EU57mCg=; b=uUuk04HH+w5L3mfS/lNV1gsZnEjLR2vQ6QKOeejJMwIZTFU5cRZTcDK4DcppFqbky+WOEa5imbzTdaezUSYlrPd4PDnLz+IecClmuVMHdPwa22ZkcLoJwGCaeiZq+GA6hyuV3fug1qNPITvVMXP2GefiZMQF/oq9JfR/S/GJVG0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rasland@mellanox.com; Received: from mellanox.com (37.142.13.130) by DB5PR05MB1223.eurprd05.prod.outlook.com (2a01:111:e400:5139::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 10 Oct 2017 14:37:18 +0000 From: Raslan Darawsheh To: dev@dpdk.org Cc: shahafs@mellanox.com, yskoh@mellanox.com, ferruh.yigit@intel.com Date: Tue, 10 Oct 2017 17:37:05 +0300 Message-Id: <1507646227-12338-1-git-send-email-rasland@mellanox.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1507028429-23944-3-git-send-email-rasland@mellanox.com> References: <1507028429-23944-3-git-send-email-rasland@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: VI1PR0501CA0040.eurprd05.prod.outlook.com (2603:10a6:800:60::26) To DB5PR05MB1223.eurprd05.prod.outlook.com (2a01:111:e400:5139::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fd25a976-5c0e-48b4-e392-08d50fec68fb X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DB5PR05MB1223; X-Microsoft-Exchange-Diagnostics: 1; DB5PR05MB1223; 3:DDIcFXqneh5H4qPbnJpE/CzO1twu5/z8Kfh9/r5u+nAlDrcOlZcDCJLNSoQ3FDyc7p/vuN5NO7/qcI9LiZJtUQRP3/bKzauUFYODXuYULlUMK2WGGU2GJpmfXPa8rSdZBUdwHNK5ykRNO1E6m2bhOYQgxyGt7+qWAAmy3uTga4PagCEbeMaVqC663pSHFPGBLX1Vg/FB0K+ZJnkQGKejq9WuwZQNlJ4VVSJOJb17kmRlrq0wKxHWJUpF1Af1Nz+L; 25:VK9ILcIUVMKvjUPJyBKjm1YoO4wc2kXD0eNC90fzK+kHy2Q3CL5kl/Azz+GrcQ5SiShrMujpzfXeoQvb1lifNqHOUoyvbKfQZzzRXmwylv+QLtCW4rZr6MYNUyDh0fcTfL0SsSwS4Dx+Qtub/qLMA/+J5pdXh94HCe+rGGZ8fHvc5yBSqZWy4HwtA++dRqTc9sv9EyY6fzWcy3eoo+evSKVsHT8RNscgoT3rsxC4A6Cd/0uxThXhVVdCzO2sxV4ycYSDaqC/jkJqcSX7bHHVoPchmLoICzYft3/mX+c6/J5wUTvgxPA6cbZS/fyBMv8uGsGjC8Ze6Sdzdy7B7bnN6gYPsng2UCJ2vU6F7f+Eedo=; 31:ZpSYyQYX5Vf0Y4LIKOwPjFPMkxl1Bf7vJ+Hp8rgxnZnspQlifK+x7wWD/zzC8G9ZON3YBvS8HsH/NQYvbUf9GnHLi0ke6fiMtYIpuKTQWwjDWUPx919FLl754R8hTFiMHkSgOoQO9z5vqxfRaUyOb3mZIGdO3xAsv9Zm92tgiYWOHtUBWiZj+XsRgW8psupvb0dJnLtYmgZH6hvBDvdijNA9BzMJkzHPQai74E+/k4k= X-MS-TrafficTypeDiagnostic: DB5PR05MB1223: X-Microsoft-Exchange-Diagnostics: 1; DB5PR05MB1223; 20:HuLPYXE4o5dmMut5vLTOLWzBQkRgxXZ11op8zZMoRrhmbN8+kq6qQlY2eg7Egjrq8bJqaRFTK0XASEmg4QE/zHxdNMsdP1x8DK5wuTWLUHTbDIYCvN0PnQ9Ur/XlgDRc/lfh3Vb2gOmgHpAkjXmcmSJUoJVv4cv5GTPi4/N8kAeU3rkPPREgpY9BGEkkW2Dx7TqIAvIf5xE70zarSDJWmmIy7g4m22rF257v/2orqvNKkNNLFxw3s11VSJ4pCbH6YZyqRDKFEJnaYbCVkaqe7WLspko/DmYjcUujemcxE78AG5Lwe+hQ2lz6Y1uRwlKgQhW/GXUZlZqkjsEjrTBciaUYWa+JVkxo59w58KFjKpmPb7QpyReTApZpyrWy9Ds/bomfH5jBOA/eYR4Y291ln9RwJ1hQtiqS2SU24KptaZd/RJulzgaN/J2EJWeOSy2JZFC3RQ6gdwp9EhGIUsDKRMBIqMEOmL644ELRoFoHFW0p3KfIM/war9SI+gIOapom; 4:l4nIraL7rEJAfCaSP6heobknVgwi5+vC3K8utioN3BlRWF/QeIFE9B7mJ5Zy5isdvcRb6Naa6b6aE6XkPUZmNjqttW6HdUbRxXg4So033VW4kSzdjkETnuPmITq1ZcTiqHAS41PneSuCEjzdhY2kRvz7t5nY8PPN922RgZrwu+3vfxyyKxov8UHfJPq1z4+1n0FCi+/IcqC4eQAFFATo7SsNyFq1GhDXdF4l21SEO+SKIsb4+A2KwLuhgC1Oyjbc 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)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB5PR05MB1223; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB5PR05MB1223; X-Forefront-PRVS: 04569283F9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(199003)(33026002)(76176999)(21086003)(36756003)(25786009)(101416001)(6666003)(47776003)(86362001)(316002)(2950100002)(50466002)(16586007)(3846002)(16526018)(6116002)(6916009)(48376002)(5660300001)(50986999)(55016002)(189998001)(305945005)(7736002)(5003940100001)(97736004)(53936002)(2906002)(66066001)(2361001)(69596002)(50226002)(2351001)(33646002)(68736007)(106356001)(478600001)(81156014)(8936002)(8676002)(4326008)(81166006)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB5PR05MB1223; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; DB5PR05MB1223; 23:X/lNUm0qlAwEg6KIhjlaWO2JtwN9+YYLIO8uDlX4F?= =?us-ascii?Q?2GmaohXnkd/oGc2njl0BzNl2gXRsvf0di0bhCqv1WymrCRO8uokND7VKkcd9?= =?us-ascii?Q?B5q6Omaqiv6PFga9q2VsNtQFN31Vkn9mJIRWePVJH5y5k1/Geae2CqemzUYd?= =?us-ascii?Q?eHJlLlQZx3d9HBhDjDn8cZ+MddNUVJBHsKQYTymWKhdArdwNfbsf6Uno91x0?= =?us-ascii?Q?dsbV9ZHj110MJ2bhFljhXiXnx2OwI3UCa6lTcI2Y8P+9KJTqaqtJCJUyS4ez?= =?us-ascii?Q?sM59UNiJyw4yY8tEABfi5m6D9r7s2BucnqXH/f622Vjmsf9ra7z/laHnIep6?= =?us-ascii?Q?f+FHoAhUO3Fns7giNxLpqSlLkG9sDol4UJhF7OR+qrw5DXu3rrQIJ1t+yTqm?= =?us-ascii?Q?0Ip9GhT3s3K1hHo9MSvCVqg/gdAZZQCj4HqFjlxjJ0LgmF3REv1SKuyV0Zl1?= =?us-ascii?Q?FSiN3ARH0w5cINoKeh7gcO7P1so9B7suHO0uwiJUP7Qng3VBsN0rzAsoSHTP?= =?us-ascii?Q?ZNraOimyP8QdPNCECRBXghM/mbGnwD6tLSUpyRPHEivhfoVJp9+UGXiUgefq?= =?us-ascii?Q?DznG6UQb+DG+8Zar50acp8K8pAXkZQbKjCVAqkoX0Fs0kznLdWAmE2/uI1SX?= =?us-ascii?Q?tFGAL2uUUjzv0XZ3q0DnF7nHByhswQ5lBjTBQyPzJWar3Zw/fcSZxsIdKSLt?= =?us-ascii?Q?dhBQ7CrH1CR/gG4m2CpZiw1AIidrqIVTry/taatSTYvPidXf8V3O2wdgYRuM?= =?us-ascii?Q?rO6Zqda19RNAGU3DZuy9a22gG5hvCi5yFps85PjsI72x40xWgyiRaOIey+FU?= =?us-ascii?Q?0BGGkb37gPQrE1TO4DQctjGA6mBITOx9o77BQIQ8iNT9ta4d50x9sEfh+inj?= =?us-ascii?Q?ra8PKREbuEfyuc8S8LK6vGgpDYasX0TrVf8ZVoyjBUl+y04OSukxRdf52551?= =?us-ascii?Q?JYdjCerrwh1A0BAVBbi2AawB48Nhkn8s1gPfgobBfyl/b9+YbBQ+Lt7AMve+?= =?us-ascii?Q?Wm7BHtu88eCeugd/UFvbL9K4E4X2Yo9O1L3XgMBxGqnzZpjRFNEa0Aq7rvpt?= =?us-ascii?Q?bwMPcvw/EnVKen+DxEhsskrtPS3I9BB04b3wOtVBfg+Nk1sD6p99eDfshNr3?= =?us-ascii?Q?rt5qic6CZJaIQ1h+o1JZX1AKiTMbX0kCWZaNbYslyuEmMDA3SjcBw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB5PR05MB1223; 6:ZwD8eU9W48w0L+Mm5j0YLHBIBQfbx1OBBrCG4524SvMlASC98xVWEZIj7GetkwWgQwPJeUusUBS9cm97h8j2hDAuSw+nZG3IJxNNGOCM2hGG0GYMXAI9F/5bmkIQrhuXIwr3jBBNDPba8Q4SZ5dyeGtwyZHBF8b52c0mJ8mDl2lHnmeKWCtB3Wk/8c4C3aWqqKAung1kO6VfXj3aTXQTHSH1eulCInHwHW+SgSVmAfDR+PYiRS+4Qx5pUCU7OGqItMemea2mwfrRBekhFqn6LB4CaNfnL1Plok4gQxOkWBaqnfgwQBWGc+mIWxVDCz05B4H2UhaB+9HN6cx1Z9BIjA==; 5:3NuJVDFhmYD6VzgLbn4gWlIz6RX1hexXi9PPOO5q+mW3BF5e6qfTCmNr7+3/FoP0lu8skxoymEgKgHBgWaQDeh8BArg0wmEoDJwJmpd36jPRBdbHtmIRaOrh0VG62OCUzPYTyXOhJb6v0+s5ipeM+A==; 24:vss8dUWQkq4LHpVwehXwzx2kwqFKNAZN3SdYZGLO/1e8gKlAW7OkhDM2gayuf/kgBBaLafbmpofsQzXTwTNfZ/ZSHAWywWGTEQf8fHEa+EE=; 7:McjEwni25vb4pDATynw+554mivuRRsdpJpuMa0Ub5znLGKZKcsVrmS7TI0hDyHOU9frYrF2kd+O1XOstIxSznKru3ABhgQW3HgH1bU3QnWau/9CRM2DJadBynrRbPSLChwU8+/vKyyUc98/y/8Ntgv5mhswSodPGkY3SGILxLsMzkLJYQAJc4On2CzuGOy4sAT24rX2vhNEBEjDcIU94a39s3YpkrEXYmNlSt93Dk7U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2017 14:37:18.1611 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR05MB1223 Subject: [dpdk-dev] [PATCH v9 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: , X-List-Received-Date: Tue, 10 Oct 2017 14:37:21 -0000 Add a new offload capability flag for Rx HW timestamp and enabling/disabling this via rte_eth_rxmode. Signed-off-by: Raslan Darawsheh Reviewed-by: Shahaf Shuler Acked-by: Yongseok Koh --- Changes in v7: - Updated features.rst to use both rx_offload_capa,rx_queue_offload_capa - Updated default.ini to have Timestamp offload --- doc/guides/nics/features.rst | 11 +++++++++++ doc/guides/nics/features/default.ini | 1 + lib/librte_ether/rte_ethdev.c | 6 ++++++ lib/librte_ether/rte_ethdev.h | 2 ++ 4 files changed, 20 insertions(+) diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index 6538470..ef7283b 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -573,6 +573,17 @@ Supports L4 checksum offload. * **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``, ``tx_offload_capa,tx_queue_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``. +* **[provides] mbuf**: ``mbuf.timestamp``. +* **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa: DEV_RX_OFFLOAD_TIMESTAMP``. .. _nic_features_macsec_offload: diff --git a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini index 9a59901..dc527dd 100644 --- a/doc/guides/nics/features/default.ini +++ b/doc/guides/nics/features/default.ini @@ -48,6 +48,7 @@ VLAN offload = QinQ offload = L3 checksum offload = L4 checksum offload = +Timestamp offload = MACsec offload = Inner L3 checksum = Inner L4 checksum = diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 3c5441e..ea56978 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 8e928da..0b731bb 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -369,6 +369,7 @@ struct rte_eth_rxmode { hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ enable_scatter : 1, /**< Enable scatter packets rx handler */ enable_lro : 1, /**< Enable LRO */ + hw_timestamp : 1, /**< Enable HW timestamp */ /** * When set the offload bitfield should be ignored. * Instead per-port Rx offloads should be set on offloads @@ -961,6 +962,7 @@ struct rte_eth_conf { #define DEV_RX_OFFLOAD_JUMBO_FRAME 0x00000800 #define DEV_RX_OFFLOAD_CRC_STRIP 0x00001000 #define DEV_RX_OFFLOAD_SCATTER 0x00002000 +#define DEV_RX_OFFLOAD_TIMESTAMP 0x00004000 #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \ DEV_RX_OFFLOAD_UDP_CKSUM | \ DEV_RX_OFFLOAD_TCP_CKSUM) -- 2.7.4