BCM module diagnostics replace timestamp probes: bringup forces EEE off and runs ECD (re-run on every reset, re-baselining past its blip), 1 Hz SNR margin + corrected counters on panel and console; X520 bench divergences bypassed and tracked in open-questions

This commit is contained in:
flamingcow
2026-08-13 07:10:39 -07:00
parent a00f2216b7
commit 979dc7a772
18 changed files with 1240 additions and 416 deletions
+33
View File
@@ -275,6 +275,39 @@ func statusCell(v uint64) string {
return paint(s, cRed)
}
// The worst pair margin across both receivers, in dB above the 10GBASE-T
// operating point, so nobody has to know the operating point to read it.
func snrCell(phy phyDisplay) string {
if !phy.haveSNR {
return paint("-", cGrey)
}
s := fmt.Sprintf("%+.1f", phy.worstMargin)
switch snrClass(phy.worstMargin) {
case clsGood:
return paint(s, cGreen)
case clsWarn:
return paint(s, cYellow)
default:
return paint(s, cRed)
}
}
// Errors the phy absorbed before they could cost a frame: yellow rather than
// red, the cable being stressed rather than failing.
func correctedCell(v uint64) string {
if v == 0 {
return paint("0", cGreen)
}
return paint(commas(v), cYellow)
}
func correctedFlag(v uint64) string {
if v == 0 {
return paint("ok", cGreen)
}
return paint("warn", cYellow)
}
// Per-interval rates jitter by a couple of percent at line rate, so green has
// to cover that. Yellow means a real shortfall, red means badly off.
const (