Provided by: aoetools_36-2_amd64 bug

NAME

       aoeping - simple communication with AoE device

SYNOPSIS

       aoeping [options] {shelf} {slot} {netif}

DESCRIPTION

       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.

   Arguments
       shelf  This should be the shelf address (major AoE address) of the AoE device to communicate with.

       slot   This should be the slot address (minor AoE address) of the AoE device to 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 will be printed on standard output as a hexadecimal dump.

       -I     Issue an ATA "identify device" command after receiving the AoE  device's  Config  Query  response.
              The "ident" response will be pretty-printed on standard output as selected human-readable fields.

       -v     Turn  on  more  copious output, including a hexadecimal dump of the Config Query response from the
              AoE device (see AoE spec at URL below).

       -s     This option takes an argument.  The argument is a decimal integer that  specifies  the  number  of
              seconds  that  aoeping(8)  will  wait for a response before timing out and exiting with a non-zero
              status.

       -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 transferred.  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_data
                offline_immediate
                read_log
                write_log
                enable
                disable
                return_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.

       -h     Show a usage summary.

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.

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)

                                                                                                      aoeping(8)