freebsd-skq/sbin
kib ce9362dfb8 Add a place for a driver to report rx timestamps in nanoseconds from
boot for the received packets.

The rcv_tstmp field overlaps the place of Ln header length indicators,
not used by received packets.  The basic pkthdr rearrangement change
in sys/mbuf.h was provided by gallatin.

There are two accompanying M_ flags: M_TSTMP means that there is the
timestamp (and it was generated by hardware).

Another flag M_TSTMP_HPREC indicates that the timestamp is
high-precision.  Practically M_TSTMP_HPREC means that hardware
provided additional precision comparing with the stamps when the flag
is not set.  E.g., for ConnectX all packets are stamped by hardware
when PCIe transaction to write out the completion descriptor is
performed, but PTP packet are stamped on port.  For Intel cards, when
PTP assist is enabled, only PTP packets are stamped in the limited
number of registers, so if Intel cards ever start support this
mechanism, they would always set M_TSTMP | M_TSTMP_HPREC if hardware
timestamp is present for the given packet.

Add IFCAP_HWRXTSTMP interface capability to indicate the support for
hardware rx timestamping, and ifconfig(8) command to toggle it.

Based on the patch by:	gallatin
Reviewed by:	gallatin (previous version), hselasky
Sponsored by:	Mellanox Technologies
MFC after:	2 weeks (? mbuf KBI issue)
X-Differential revision:	https://reviews.freebsd.org/D12638
2017-11-07 09:29:14 +00:00
..
adjkerntz DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
bsdlabel DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
camcontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ccdconfig DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
clri DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
comcontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
conscontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ddb DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
decryptcore DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
devd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
devfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
dhclient DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
dmesg DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
dump DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
dumpfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
dumpon DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
etherswitchcfg DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fdisk DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ffsinfo DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fsck DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fsck_ffs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fsck_msdosfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fsdb DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
fsirand DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
gbde DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
geom DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ggate DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
growfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
gvinum DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
hastctl DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
hastd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ifconfig Add a place for a driver to report rx timestamps in nanoseconds from 2017-11-07 09:29:14 +00:00
init DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ipf DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ipfw DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
iscontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
kldconfig DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
kldload DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
kldstat DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
kldunload DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ldconfig DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
md5 DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mdconfig DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mdmfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mknod DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mksnap_ffs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_cd9660 DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_fusefs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_msdosfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_nfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_nullfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_udf DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mount_unionfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
nandfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
natd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
newfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
newfs_msdos DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
newfs_nandfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
nfsiod DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
nos-tun DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
nvmecontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
pfctl DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
pflogd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ping DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ping6 DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
quotacheck DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
rcorder DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
reboot Add -c to the usage statements. 2017-10-31 03:39:36 +00:00
recoverdisk DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
resolvconf sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
restore DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
route DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
routed DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
rtsol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
savecore DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
sconfig DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
setkey DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
shutdown Add -c to the usage statements. 2017-10-31 03:39:36 +00:00
spppcontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
sunlabel DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
swapon DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
sysctl DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
tunefs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
umount DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
zfsbootcfg DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
Makefile Remove badsect(8). 2017-11-05 22:00:54 +00:00
Makefile.amd64
Makefile.arm
Makefile.i386
Makefile.inc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.mips
Makefile.sparc64