-
Notifications
You must be signed in to change notification settings - Fork 68
/
diagNetwork.go
63 lines (54 loc) · 2.02 KB
/
diagNetwork.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package diag
import (
"fmt"
"time"
)
func diagNetwork() error {
var r string
var result bool
fmt.Printf("\n%15s|%25s|%10s|%10s|%10s|%10s|%6s|%35s\n", "function", "parameter", "units", "value", "min", "max", "result", "description")
fmt.Printf("---------------|-------------------------|----------|----------|----------|----------|------|-----------------------------------\n")
/* diagTest: ETHX_INT_L interrupt: toggle ethx interrupt and validate bmc can detect the proper signal states */
//tbd: generate ethx interrupt
//tbd: use cat /proc/interrupts instead?
pinstate, err := gpioGet("ETHX_INT_L")
if err != nil {
return err
}
if !pinstate {
r = "pass"
} else {
r = "fail"
}
fmt.Printf("%15s|%25s|%10s|%10t|%10t|%10t|%6s|%35s\n", "mgmt_network", "ethx_int_l_on", "-", pinstate, active_low_on_min, active_low_on_max, r, "check interrupt is low")
//tbd: clear ethx interrupt
pinstate, err = gpioGet("ETHX_INT_L")
if err != nil {
return err
}
if pinstate {
r = "pass"
} else {
r = "fail"
}
fmt.Printf("%15s|%25s|%10s|%10t|%10t|%10t|%6s|%35s\n", "mgmt_network", "ethx_int_l_off", "-", pinstate, active_low_off_min, active_low_off_max, r, "check interrupt is high")
/* diagTest: ETHX_RST_L: toggle BMC to ethx RST_L and validate ethx behaves accordingly */
/*
gpioSet("ETHX_RST_L",false)
time.Sleep(50 * time.Millisecond)
result = diagPing("192.168.101.1", 1)
if !result {r = "pass"} else {r = "fail"}
fmt.Printf("%15s|%25s|%10s|%10t|%10t|%10t|%6s|%35s\n","network","ethx_rst_l_on","-",result,ping_noresponse,ping_noresponse_max,r,"enable reset, ping external host")
*/
gpioSet("ETHX_RST_L", true)
time.Sleep(50 * time.Millisecond)
result = diagPing("192.168.101.1", 10)
if result {
r = "pass"
} else {
r = "fail"
}
fmt.Printf("%15s|%25s|%10s|%10t|%10t|%10t|%6s|%35s\n", "mgmt_network", "ethx_rst_l_off", "-", result, ping_response_min, ping_response_max, r, "disable reset, ping external host")
/* diagTest: ethx MDIO, tbd: validate reads/writes across MDIO interface */
return nil
}