This patchset adds new options to the timestamping API that will be useful for NTP implementations and possibly other applications.
The first patch specifies a timestamp filter for NTP packets, which is handled in the second patch in drivers that can timestamp all packets. There is no attempt to add the support to the phyter driver. The third patch adds a new option to get information about HW-timestamped packets. The fourth patch adds support for this option to the drivers (currently only igb and e1000e). The fifth patch fixes the code to not make a false software TX timestamp when HW timestamping is enabled. The sixth patch depends on this fix. The sixth patch adds a new option to allow outgoing packets to be looped multiple times to the error queue in order to allow simultaneous SW and HW timestamping. The seventh patch updates drivers that assumed SW timestamping cannot be used together with HW timestamping. Miroslav Lichvar (7): net: define receive timestamp filter for NTP net: ethernet: update drivers to handle HWTSTAMP_FILTER_NTP_ALL net: add option to get information about timestamped packets net: ethernet: update drivers to provide timestamping packet info net: don't make false software transmit timestamps net: allow simultaneous SW and HW transmit timestamping net: ethernet: update drivers to make both SW and HW TX timestamps Documentation/networking/timestamping.txt | 20 +++++++++- drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 4 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 1 + drivers/net/ethernet/cavium/liquidio/lio_main.c | 1 + drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 1 + drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 1 + drivers/net/ethernet/intel/e1000e/netdev.c | 19 +++++----- drivers/net/ethernet/intel/i40e/i40e_ptp.c | 1 + drivers/net/ethernet/intel/igb/igb.h | 7 ++-- drivers/net/ethernet/intel/igb/igb_main.c | 22 +++++++++-- drivers/net/ethernet/intel/igb/igb_ptp.c | 43 +++++++++++----------- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 1 + drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 1 + drivers/net/ethernet/mellanox/mlx5/core/en_clock.c | 1 + drivers/net/ethernet/neterion/vxge/vxge-main.c | 1 + drivers/net/ethernet/qlogic/qede/qede_ptp.c | 1 + drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 3 +- drivers/net/ethernet/sfc/ef10.c | 1 + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++-- drivers/net/ethernet/ti/cpsw.c | 1 + drivers/net/ethernet/tile/tilegx.c | 1 + include/linux/skbuff.h | 25 ++++++++++++- include/uapi/asm-generic/socket.h | 2 + include/uapi/linux/errqueue.h | 8 ++++ include/uapi/linux/net_tstamp.h | 7 +++- net/core/dev_ioctl.c | 1 + net/core/skbuff.c | 16 ++++++-- net/socket.c | 20 +++++++++- 28 files changed, 162 insertions(+), 55 deletions(-) -- 2.9.3