Provided by: aoetools_36-5build1_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)