[dpdk-dev,1/3] ethdev: add Rx HW timestamp capability
Checks
Commit Message
Add a new offload capability flag for Rx HW
timestamp and enabling/disabling this via rte_eth_rxmode.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
---
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(-)
Comments
On 10/2/2017 3:50 PM, Raslan Darawsheh wrote:
> Add a new offload capability flag for Rx HW
> timestamp and enabling/disabling this via rte_eth_rxmode.
>
> Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
> Acked-by: Yongseok Koh <yskoh@mellanox.com>
Hi Raslan,
Is this v4? There are two versions sent today without version
information, it is confusing.
Can you please send latest version again with version information (v4 or
v5) so it will be possible to figure out latest version?
Thanks,
ferruh
> On Oct 2, 2017, at 11:48 AM, Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> On 10/2/2017 3:50 PM, Raslan Darawsheh wrote:
>> Add a new offload capability flag for Rx HW
>> timestamp and enabling/disabling this via rte_eth_rxmode.
>>
>> Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
>> Acked-by: Yongseok Koh <yskoh@mellanox.com>
>
> Hi Raslan,
>
> Is this v4? There are two versions sent today without version
> information, it is confusing.
>
> Can you please send latest version again with version information (v4 or
> v5) so it will be possible to figure out latest version?
Raslan,
Did you make any change in the patches since I acked?
Then, you should remove my 'acked-by' tag and I have to review changes.
Hope you add a cover letter to document changes you make across versions.
Thanks
Yongseok
@@ -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:
@@ -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
@@ -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.