freebsd-skq/tools
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
..
boot Spell LOADER correctly so we test lua build. 2020-05-01 17:50:26 +00:00
bsdbox bsdbox: remove useless linking against libl 2020-03-23 14:53:55 +00:00
build The practice of creating symbolic links is somewhat fragile. Always 2020-08-07 16:26:56 +00:00
bus_space Add support for Python 3 and make it the default. 2019-06-30 02:29:12 +00:00
coccinelle copystr(9): Move to deprecate (attempt #2) 2020-05-25 16:40:48 +00:00
debugscripts Enhance the 'ps' command so that it prints a line per proc and a line 2019-09-25 18:03:15 +00:00
diag In preparation for adding inode check-hashes, clean up and 2018-11-13 21:40:56 +00:00
ifnet
kerneldoc ice(4): Introduce new driver for Intel E800 Ethernet controllers 2020-05-26 23:35:10 +00:00
LibraryReport
lua Move ifconfig SFP status functionality into libifconfig 2020-08-09 16:27:28 +00:00
pkgbase Add pkgbase METALOG parse/check tool 2020-05-10 16:11:19 +00:00
regression fsx: seed more randomly with the -S0 option 2019-04-28 17:27:06 +00:00
sched Add a dtrace script for collecting schedgraph data 2016-11-18 02:29:09 +00:00
test Add a makefile to build and run the tests for the bsnmp library. 2020-04-01 15:39:02 +00:00
tools add script to help figure out what man pages need MLINKS updated... 2020-07-16 23:05:18 +00:00
uma/smrstress Fix the smrstress build after r358400. 2020-08-05 17:26:20 +00:00
install.sh Fix handling -U. It does not take any arguments. 2017-11-27 02:28:40 +00:00
make_libdeps.sh Improve the library dependencies helper script in src/tools. 2017-11-16 15:26:39 +00:00
README
tinder.sh

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.