aoeping(8) | System Manager's Manual | aoeping(8) |
aoeping - simple communication with AoE device
aoeping [options] {shelf} {slot} {netif}
The aoeping(8) program performs simple one or two-round-trip communication with an ATA over Ethernet (AoE) device. It creates and receives AoE packets directly, using raw network sockets.
Running aoeping(8) without command line arguments will result in a short usage summary being displayed.
The aoeping(8) program will wait forever if it doesn't receive an expected response. The caller should use a time out to catch this situation.
For write_log, aoeping(8) reads from standard input the one sector of data to be written to the specified log.
If the AoE device does not support SMART commands or if the command is aborted, an error message is printed to standard error and aoeping(8) exits with a non-zero status. A command may be aborted if SMART is disabled on the device.
The aoeping(8) command just sends and receives SMART commands, without interpreting them. See the ATA specification for more information on using SMART.
In this example, the root user uses aoeping(8) to check for the presence of aoe device e10.9 on network interface eth0.
bash# aoeping -v 10 9 eth0 | head tag: 80000000 eth: eth0 shelf: 10 slot: 9 config query response: 00 0d 87 aa c9 00 00 10 04 00 11 1f 88 a2 18 00 00 0a 09 01 00 00 00 00 00 03 30 08 00 10 00 04 66 6f 6f 0a 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
The next example shows root making sure the disk on the e10.9 is still responsive by issuing an ATA device identify command with a 20-second timeout.
bash# aoeping -i -s 20 \
10 9 eth0 > /dev/null \
&& echo ok ok
The next example uses SMART to determine whether the disk on e10.9 thinks it has exceeded its error threshold. The ATA spec says that the LBA Mid register will be 0x4f when the disk has not exceeded its error threshold.
bash# aoeping -S return_status \
10 9 eth0 | grep 'LBA Mid: 0x4f' \
> /dev/null \
&& echo ok ok
Note that in a script, it would be prudent to specify and handle a timeout. Also, a good script would make sure the Status register does not have the error bit (bit zero) or the device fault bit (bit 5) set.
aoe-discover(8), aoe-interfaces(8), aoe-mkdevs(8), aoe-mkshelf(8), aoe-stat(8),
AoE (ATA over Ethernet): http://support.coraid.com/documents/AoEr10.txt,
ATA specification
Ed L. Cashin (ecashin@coraid.com)