aoeping(8)
π aoeping(8) β simple communication with AoE device π
okay bestie, welcome to the System Manager's Manual corner of the group chat. this is aoeping, and she is that girl for talking to ATA over Ethernet devices. let's get into it π«Ά
β¨ NAME β¨
aoeping β simple communication with AoE device
πΈ SYNOPSIS πΈ
aoeping [options] {shelf} {slot} {netif}
π¦ DESCRIPTION π¦
so like, the aoeping(8) program does simple one or two-round-trip communication with an ATA over Ethernet (AoE) device. she makes and receives AoE packets directly, using raw network sockets. no middleman, no cap. π
ngl, if you run aoeping(8) with no command line arguments at all, you just get a short usage summary. that's it. that's the whole vibe check.
β οΈ real talk: 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. like literally forever. not me standing there waiting for a reply that is never coming π
π Arguments
shelfβ this should be the shelf address (major AoE address) of the AoE device you wanna communicate with. πslotβ this should be the slot address (minor AoE address) of the AoE device you wanna communicate with.netifβ the name of the ethernet network interface to use for AoE communications, e.g.,eth1.
β Options
-iβ issue an ATA "identify device" command after receiving the AoE device's Config Query response. the "ident" response gets printed on standard output as a hexidecimal dump. hex dump era π-Iβ issue an ATA "identify device" command after receiving the AoE device's Config Query response. this time the "ident" response gets pretty-printed on standard output as selected human-readable fields. so aesthetic β¨-vβ turn on more copious output, including a hexidecimal dump of the Config Query response from the AoE device (see AoE spec at URL below). she's chatty, we love her for it π£οΈ-sβ this option takes an argument. the argument is a decimal integer that specifies the number of seconds thataoeping(8)will wait for a response before timing out and exiting with a non-zero status. the patience setting fr fr β³-Sβ this option takes an argument. the argument is the name of a SMART command to send to the disk. the SMART commands in the list below are supported. if the command requires data transfer, one sector (512 bytes) of data is always the amount transfered. if the command takes a parameter (for the Low LBA register), then the name of the SMART command is immediately followed by a colon and then a number, the value of the parameter, e.g.,"-S read_log:1". π©Ίread_dataoffline_immediateread_logwrite_logenabledisablereturn_status
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.
-tβ (this is an advanced feature.) this option has an argument. the argument is a decimal integer that is used as the initial tag, with the highest bit set, as the first tag in ATA commands. tags for subsequent ATA commands will be incremented by one. advanced girlies only π₯-hβ show a usage summary. the classic. the icon. the helpful one π
π EXAMPLE π
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. protect your peace and your registers bestie π«Ά
π SEE ALSO π
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
π AUTHOR π
Ed L. Cashin (ecashin@coraid.com)
and that's the whole page, bestie!! β¨ written by Ed L. Cashin, living under the System Manager's Manual, going by aoeping(8). periodt π
πΈπ¦
π¦ where this page comes from
- fedora 43: aoetools 36-30.fc41 Β· GPLv2
- fedora 43: aoetools 37-1.fc43 Β· GPL-2.0-only
- fedora 44: aoetools 37-1.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms