This patchset adds ethdev API to enable and read IEEE1588/802.1AS PTP timestamps from devices that support it. The following functions are added:
rte_eth_timesync_enable() rte_eth_timesync_disable() rte_eth_timesync_read_rx_timestamp() rte_eth_timesync_read_tx_timestamp() The "ieee1588" forwarding mode in testpmd is also refactored to demonstrate the new API and to clean up the code. Adds support for igb, ixgbe and i40e. V4: * Added timesync field to end of mbuf to pass IEEE1588 registers and flags. Removed previous ABI deprecation notice. V3: * Fixed issued with version.map. V2: * Added i40e support. * Renamed ethdev functions from rte_eth_ieee15888_*() to rte_eth_timesync_*() since 802.1AS can be supported through the same interfaces. V1: * Initial version for igb and ixgbe. John McNamara (7): ethdev: add support for ieee1588 timestamping mbuf: add field for ieee1588 timesync index e1000: add support for ieee1588 timestamping ixgbe: add support for ieee1588 timestamping i40e: add support for ieee1588 timestamping app/testpmd: refactor ieee1588 forwarding doc: document ieee1588 forwarding mode app/test-pmd/ieee1588fwd.c | 466 ++-------------------------- doc/guides/testpmd_app_ug/run_app.rst | 2 +- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 + drivers/net/e1000/igb_ethdev.c | 115 +++++++ drivers/net/i40e/i40e_ethdev.c | 143 +++++++++ drivers/net/i40e/i40e_rxtx.c | 40 ++- drivers/net/ixgbe/ixgbe_ethdev.c | 122 ++++++++ lib/librte_ether/rte_ethdev.c | 70 ++++- lib/librte_ether/rte_ethdev.h | 90 +++++- lib/librte_ether/rte_ether_version.map | 4 + lib/librte_mbuf/rte_mbuf.h | 3 + 11 files changed, 614 insertions(+), 443 deletions(-) -- 1.8.1.4