freebsd-dev/sbin
Ryan Moeller 94cba8034b Move ifconfig SFP status functionality into libifconfig
libifconfig_sfp.h provides an API in libifconfig for querying SFP module
properties, operational status, and vendor strings, as well as descriptions
of the various fields, string conversions, and other useful helpers for
implementing user interfaces.

SFP module status is obtained by reading registers via an I2C interface.
Descriptions of these registers and the values therein have been collected
in a Lua table which is used to generate all the boilerplace C headers and
source files for accessing these values, their names, and descriptions.
The generated code is fully commented and readable.

This is the first use of libifconfig in ifconfig itself.  For now, the
scope remains very limited.  Over time, more of ifconfig will be replaced
with libifconfig.

Some minor changes to the formatting of ifconfig output have been made:
- Module memory hex dumps are indented one extra space as a result of using
hexdump(3) instead of a bespoke hex dump function.
- Media descriptions have an added two-character short-name in parenthesis.
- QSFP modules were incorrectly displaying TX bias current as power.  Now
  TX channels display bias current, and this change has been made for both
  SFP and QSFP modules for consistency.

A Lua binding for libifconfig including this functionality is implemented
but has not been included in this commit.  The plan is for it to be
committed after dynamic module loading has been enabled in flua.

Reviewed by:	kp, melifaro
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D25494
2020-08-09 16:27:28 +00:00
..
adjkerntz
bectl Skip bectl jail test if jail not installed (WITHOUT_JAIL). 2020-04-29 14:15:21 +00:00
bsdlabel
camcontrol Make it possible to get/set MMC frequency from camcontrol 2020-07-24 21:14:59 +00:00
ccdconfig
clri
comcontrol Remove sio(4). 2019-11-21 01:24:49 +00:00
conscontrol Remove sio(4). 2019-11-21 01:24:49 +00:00
ddb ddb: use 'textdump dump' instead of 'call doadump' 2019-10-18 12:32:01 +00:00
decryptcore EKCD: Preload error strings, PRNG seed; use OAEP padding 2020-04-23 17:56:48 +00:00
devd Remove old devd rules for ActiveWire and Entrega Serial DB25 2020-07-16 14:04:29 +00:00
devfs
devmatch Update Makefile.depend files 2019-12-11 17:37:53 +00:00
dhclient dhclient: Fix a logic bug remove_protocol(). 2020-06-04 16:24:13 +00:00
dmesg
dump Clean up some function and variable names. 2020-06-23 21:11:40 +00:00
dumpfs Print the fs last-mounted time too. 2020-05-02 00:10:25 +00:00
dumpon dumpon.8: Update minimum key size language 2020-04-23 18:04:52 +00:00
etherswitchcfg
fdisk
ffsinfo
fsck Remove unused includes. 2019-12-22 05:44:29 +00:00
fsck_ffs The libufs library needs to track and free the new fs_si structure 2020-06-23 21:28:26 +00:00
fsck_msdosfs Do not overflow when calculating file system size. 2020-04-28 05:10:34 +00:00
fsdb fsck_ffs/fsdb: fix -fno-common build 2020-03-29 20:03:46 +00:00
fsirand fsirand(8): Just use arc4random(3) 2019-12-13 04:12:13 +00:00
gbde
geom Remove all the RELEASE_CRUNCH defines, they are useless. 2019-12-16 21:06:24 +00:00
ggate
growfs
gvinum
hastctl
hastd Fix typo in hastd.8 manual page. 2019-12-22 01:22:51 +00:00
ifconfig Move ifconfig SFP status functionality into libifconfig 2020-08-09 16:27:28 +00:00
init - Cleanups related to sparc64 removal. 2020-07-28 10:58:37 +00:00
ipf
ipfw Fix SIGSEGV in ipfw(8) when NAT64 prefix length is omitted. 2020-08-05 11:26:49 +00:00
iscontrol pkgbase: We can't easily have a package with either a - or a _ 2020-08-07 12:19:21 +00:00
kldconfig
kldload
kldstat
kldunload
ldconfig ldconfig: add aout deprecation notice 2020-03-17 15:57:25 +00:00
md5 md5: return non-zero if built-in tests (-x) fail 2020-07-23 20:06:24 +00:00
mdconfig
mdmfs mdmfs(8): add -k skel option to populate fs from a skeleton 2019-11-01 03:10:53 +00:00
mknod
mksnap_ffs Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
mount All the other printf() calls cast to (void) here, do the two newer ones for 2020-08-07 02:48:19 +00:00
mount_cd9660
mount_fusefs Correct a handful of typos/grammos. 2019-12-07 15:17:00 +00:00
mount_msdosfs
mount_nfs mount_nfs(8): document alternate form of the gssname option 2020-07-17 21:55:24 +00:00
mount_nullfs
mount_udf
mount_unionfs
natd
newfs Move the pointers stored in the superblock into a separate 2020-06-19 01:02:53 +00:00
newfs_msdos Use KERN_MAXPHYS. 2020-07-05 00:19:08 +00:00
nfsiod
nos-tun
nvmecontrol Add missing newlines. 2020-07-23 14:33:25 +00:00
pfctl pfctl: Call ifa_load() before ifa_grouplookup() 2020-04-19 15:37:13 +00:00
pfilctl
pflogd
ping ping(8): Check for integer truncation when handling the value for -s. 2020-07-11 17:10:16 +00:00
ping6 Make ping6(1) return code consistent with the man page. 2020-02-15 15:39:53 +00:00
quotacheck
rcorder Improve the rcorder manual page 2020-06-22 10:01:24 +00:00
reboot boot(8): fix sorting of cross references 2020-07-11 19:29:24 +00:00
recoverdisk Don't send clear screen until we are committed to run. 2020-05-09 10:55:34 +00:00
resolvconf
restore Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
route Skip sbin/route tests if jail not installed (WITHOUT_JAIL). 2020-08-04 21:34:13 +00:00
routed
rtsol Update Makefile.depend files 2019-12-11 17:37:53 +00:00
savecore savecore: accept device names without the /dev/ prefix 2020-06-29 22:12:23 +00:00
sconfig Fix the following -Werror warning from clang 10.0.0 in sconfig: 2020-02-13 18:37:17 +00:00
setkey Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec. 2020-06-04 22:58:37 +00:00
shutdown shutdown.8: Fix typo 2020-07-05 13:08:17 +00:00
spppcontrol
swapon The -F flag of swapon(8) requires -a to work. 2020-05-19 12:16:44 +00:00
sysctl
tests
tunefs
umount Document that umount -A does not unmount /dev 2020-06-18 23:12:55 +00:00
veriexec Revert that! 2020-07-19 23:56:19 +00:00
zfsbootcfg zfsbootcfg: use vfs.root.mountfrom and update nextboot on every vdev 2020-06-05 18:18:27 +00:00
Makefile
Makefile.amd64
Makefile.arm
Makefile.i386
Makefile.inc
Makefile.mips
Makefile.powerpc64