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:
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user