1aoeping(8) System Manager's Manual aoeping(8)
2
3
4
6 aoeping - simple communication with AoE device
7
9 aoeping [options] {shelf} {slot} {netif}
10
12 The aoeping(8) program performs simple one or two-round-trip communica‐
13 tion with an ATA over Ethernet (AoE) device. It creates and receives
14 AoE packets directly, using raw network sockets.
15
16 Running aoeping(8) without command line arguments will result in a
17 short usage summary being displayed.
18
19 The aoeping(8) program will wait forever if it doesn't receive an
20 expected response. The caller should use a time out to catch this sit‐
21 uation.
22
23 Arguments
24 shelf This should be the shelf address (major AoE address) of the AoE
25 device to communicate with.
26
27 slot This should be the slot address (minor AoE address) of the AoE
28 device to communicate with.
29
30 netif The name of the ethernet network interface to use for AoE commu‐
31 nications, e.g., eth1.
32
33 Options
34 -i Issue an ATA "identify device" command after receiving the AoE
35 device's Config Query response. The "ident" response will be
36 printed on standard output as a hexidecimal dump.
37
38 -I Issue an ATA "identify device" command after receiving the AoE
39 device's Config Query response. The "ident" response will be
40 pretty-printed on standard output as selected human-readable
41 fields.
42
43 -v Turn on more copious output, including a hexidecimal dump of the
44 Config Query response from the AoE device (see AoE spec at URL
45 below).
46
47 -s This option takes an argument. The argument is a decimal inte‐
48 ger that specifies the number of seconds that aoeping(8) will
49 wait for a response before timing out and exiting with a non-
50 zero status.
51
52 -S This option takes an argument. The argument is the name of a
53 SMART command to send to the disk. The SMART commands in the
54 list below are supported. If the command requires data trans‐
55 fer, one sector (512 bytes) of data is always the amount trans‐
56 fered. If the command takes a parameter (for the Low LBA regis‐
57 ter), then the name of the SMART command is immediately followed
58 by a colon and then a number, the value of the parameter, e.g.,
59 "-S read_log:1".
60
61 read_data
62 offline_immediate
63 read_log
64 write_log
65 enable
66 disable
67 return_status
68
69 For write_log, aoeping(8) reads from standard input the one sec‐
70 tor of data to be written to the specified log.
71
72 If the AoE device does not support SMART commands or if the com‐
73 mand is aborted, an error message is printed to standard error
74 and aoeping(8) exits with a non-zero status. A command may be
75 aborted if SMART is disabled on the device.
76
77 The aoeping(8) command just sends and receives SMART commands,
78 without interpreting them. See the ATA specification for more
79 information on using SMART.
80
81 -t (This is an advanced feature.) This option has an argument.
82 The argument is a decimal integer that is used as the initial
83 tag, with the highest bit set, as the first tag in ATA commands.
84 Tags for subsequent ATA commands will be incremented by one.
85
86 -h Show a usage summary.
87
89 In this example, the root user uses aoeping(8) to check for the pres‐
90 ence of aoe device e10.9 on network interface eth0.
91
92 bash# aoeping -v 10 9 eth0 | head
93 tag: 80000000
94 eth: eth0
95 shelf: 10
96 slot: 9
97 config query response:
98 00 0d 87 aa c9 00 00 10 04 00 11 1f 88 a2 18 00
99 00 0a 09 01 00 00 00 00 00 03 30 08 00 10 00 04
100 66 6f 6f 0a 00 ff ff ff ff ff ff ff ff ff ff ff
101 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
102 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
103
104 The next example shows root making sure the disk on the e10.9 is still
105 responsive by issuing an ATA device identify command with a 20-second
106 timeout.
107
108 bash# aoeping -i -s 20 \
109 10 9 eth0 > /dev/null \
110 && echo ok
111 ok
112
113 The next example uses SMART to determine whether the disk on e10.9
114 thinks it has exceeded its error threshold. The ATA spec says that the
115 LBA Mid register will be 0x4f when the disk has not exceeded its error
116 threshold.
117
118 bash# aoeping -S return_status \
119 10 9 eth0 | grep 'LBA Mid: 0x4f' \
120 > /dev/null \
121 && echo ok
122 ok
123
124 Note that in a script, it would be prudent to specify and handle a
125 timeout. Also, a good script would make sure the Status register does
126 not have the error bit (bit zero) or the device fault bit (bit 5) set.
127
129 aoe-discover(8), aoe-interfaces(8), aoe-mkdevs(8), aoe-mkshelf(8), aoe-
130 stat(8),
131
132 AoE (ATA over Ethernet): http://support.coraid.com/docu‐
133 ments/AoEr10.txt,
134
135 ATA specification
136
138 Ed L. Cashin (ecashin@coraid.com)
139
140
141
142 aoeping(8)