Add a sample application that acts as a PTP slave using the DPDK IEEE1588 functions.
Also add some additional IEEE1588 support functions to enable getting, setting and adjusting the device time. V6->v7: - Simplified common functionality for timecounters and make it more generic. - Reset time counters at initialization. - Stripped extra margins in doc image. - Fixed release notes, commit titles, rte_ether_version.map and MAINTAINERS file. V5->v6: - Moved common functionality for cyclecounter and time conversions functions to lib/librte_eal/common/include/rte_time.h, based on mailing list comments. - Prefixed functions with rte_ and added Doxygen comments. - Refactored cyclecounter structs from previous version to make it more generic. - Fix ieee1588 fwd output in testpmd. V4->v5: - rebase to the current master V3->V4: Doc: - Update documentation for ptpclient - fix: put information about ptp application in correct place V2->V3: PMD: - move common structures and functions for PTP protocol to librte_net/rte_ptp.h V1->V2: PMDs: - add support for e1000 - add support for ixgbe - add support for i40 ethdev: - change function names to more proper Doc: - add documentation for ptpclient sample: - add kernel adjustment option - add portmask option to provide portmask to application Daniel Mrzyglod (5): ethdev: add additional ieee1588 support functions eal: add common time structures and functions ixgbe: add additional ieee1588 support functions example: minimal ptp client implementation doc: add a ptpclient sample guide Pablo de Lara (3): igb: add additional ieee1588 support functions i40e: add additional ieee1588 support functions testpmd: add nanosecond output for ieee1588 fwd MAINTAINERS | 4 + app/test-pmd/ieee1588fwd.c | 8 +- doc/guides/rel_notes/release_2_2.rst | 4 + doc/guides/sample_app_ug/img/ptpclient.svg | 524 +++++++++++++++++++ doc/guides/sample_app_ug/index.rst | 3 + doc/guides/sample_app_ug/ptpclient.rst | 306 +++++++++++ drivers/net/e1000/e1000_ethdev.h | 4 + drivers/net/e1000/igb_ethdev.c | 271 +++++++++- drivers/net/i40e/i40e_ethdev.c | 210 ++++++-- drivers/net/i40e/i40e_ethdev.h | 8 +- drivers/net/ixgbe/ixgbe_ethdev.c | 244 ++++++++- drivers/net/ixgbe/ixgbe_ethdev.h | 4 + examples/Makefile | 1 + examples/ptpclient/Makefile | 56 +++ examples/ptpclient/ptpclient.c | 780 +++++++++++++++++++++++++++++ lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/include/rte_time.h | 122 +++++ lib/librte_ether/rte_ethdev.c | 36 ++ lib/librte_ether/rte_ethdev.h | 71 +++ lib/librte_ether/rte_ether_version.map | 3 + 20 files changed, 2577 insertions(+), 84 deletions(-) create mode 100644 doc/guides/sample_app_ug/img/ptpclient.svg create mode 100644 doc/guides/sample_app_ug/ptpclient.rst create mode 100644 examples/ptpclient/Makefile create mode 100644 examples/ptpclient/ptpclient.c create mode 100644 lib/librte_eal/common/include/rte_time.h -- 2.5.0