diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2019-08-27 00:33:58 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2019-08-27 00:33:58 +0000 |
commit | 4c1016aef42beb657368128f88178b29594839ea (patch) | |
tree | b480978e1f277d4565cbebffa4af90e49bf6a80a /sys/netmpls | |
parent | a26807a2a725f12cba66e9e7444c6ab318961cc8 (diff) |
make a start at reporting qsfp monitor values.
i have some qsfp DACs and a couple of optics, and they're all
terrible, so this is about as far as i can go for now. at least the
code will be robust in the face of terrible modules though.
the DACs are pretty dumb and basically report that they're DACs
with some strings. this code just prints that they're DACs with
strings now.
modules are supposed to be able to report overall temperature and
voltage, and optics can report tx and rx values for the 4 different
signal lanes they're supposed to provide. interestingly the current
values are always reported in the lower page, but thresholds are
reported in page 3, but not all modules support page switching.
devices are supposed to say whether they can switch pages, but i
have one that does say it can switch but then doesn't. anyway, the
take away is that it is therefore possible for a module to report
values without also
reporting thresholds.
this sets the code up to report the values on their own if we can't
query page 3 for any reason.
if the temp sensor value looks bogus (ie, 0x0000 or 0xffff), assume
the monitor values are bogus and bail early.
hopefully i can find a module soon that supports multiple signal
lanes and actually reports their values and thresholds for them.
Diffstat (limited to 'sys/netmpls')
0 files changed, 0 insertions, 0 deletions