| The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ... | 
 |  | 
 |   http://www.coraid.com/support/linux/EtherDrive-2.6-HOWTO.html | 
 |  | 
 |   It has many tips and hints! | 
 |  | 
 | The aoetools are userland programs that are designed to work with this | 
 | driver.  The aoetools are on sourceforge. | 
 |  | 
 |   http://aoetools.sourceforge.net/ | 
 |  | 
 | The scripts in this Documentation/aoe directory are intended to | 
 | document the use of the driver and are not necessary if you install | 
 | the aoetools. | 
 |  | 
 |  | 
 | CREATING DEVICE NODES | 
 |  | 
 |   Users of udev should find the block device nodes created | 
 |   automatically, but to create all the necessary device nodes, use the | 
 |   udev configuration rules provided in udev.txt (in this directory). | 
 |  | 
 |   There is a udev-install.sh script that shows how to install these | 
 |   rules on your system. | 
 |  | 
 |   If you are not using udev, two scripts are provided in | 
 |   Documentation/aoe as examples of static device node creation for | 
 |   using the aoe driver. | 
 |  | 
 |     rm -rf /dev/etherd | 
 |     sh Documentation/aoe/mkdevs.sh /dev/etherd | 
 |  | 
 |   ... or to make just one shelf's worth of block device nodes ... | 
 |  | 
 |     sh Documentation/aoe/mkshelf.sh /dev/etherd 0 | 
 |  | 
 |   There is also an autoload script that shows how to edit | 
 |   /etc/modprobe.conf to ensure that the aoe module is loaded when | 
 |   necessary. | 
 |  | 
 | USING DEVICE NODES | 
 |  | 
 |   "cat /dev/etherd/err" blocks, waiting for error diagnostic output, | 
 |   like any retransmitted packets. | 
 |  | 
 |   "echo eth2 eth4 > /dev/etherd/interfaces" tells the aoe driver to | 
 |   limit ATA over Ethernet traffic to eth2 and eth4.  AoE traffic from | 
 |   untrusted networks should be ignored as a matter of security.  See | 
 |   also the aoe_iflist driver option described below. | 
 |  | 
 |   "echo > /dev/etherd/discover" tells the driver to find out what AoE | 
 |   devices are available. | 
 |  | 
 |   These character devices may disappear and be replaced by sysfs | 
 |   counterparts.  Using the commands in aoetools insulates users from | 
 |   these implementation details. | 
 |  | 
 |   The block devices are named like this: | 
 |  | 
 | 	e{shelf}.{slot} | 
 | 	e{shelf}.{slot}p{part} | 
 |  | 
 |   ... so that "e0.2" is the third blade from the left (slot 2) in the | 
 |   first shelf (shelf address zero).  That's the whole disk.  The first | 
 |   partition on that disk would be "e0.2p1". | 
 |  | 
 | USING SYSFS | 
 |  | 
 |   Each aoe block device in /sys/block has the extra attributes of | 
 |   state, mac, and netif.  The state attribute is "up" when the device | 
 |   is ready for I/O and "down" if detected but unusable.  The | 
 |   "down,closewait" state shows that the device is still open and | 
 |   cannot come up again until it has been closed. | 
 |  | 
 |   The mac attribute is the ethernet address of the remote AoE device. | 
 |   The netif attribute is the network interface on the localhost | 
 |   through which we are communicating with the remote AoE device. | 
 |  | 
 |   There is a script in this directory that formats this information | 
 |   in a convenient way.  Users with aoetools can use the aoe-stat | 
 |   command. | 
 |  | 
 |   root@makki root# sh Documentation/aoe/status.sh  | 
 |      e10.0            eth3              up | 
 |      e10.1            eth3              up | 
 |      e10.2            eth3              up | 
 |      e10.3            eth3              up | 
 |      e10.4            eth3              up | 
 |      e10.5            eth3              up | 
 |      e10.6            eth3              up | 
 |      e10.7            eth3              up | 
 |      e10.8            eth3              up | 
 |      e10.9            eth3              up | 
 |       e4.0            eth1              up | 
 |       e4.1            eth1              up | 
 |       e4.2            eth1              up | 
 |       e4.3            eth1              up | 
 |       e4.4            eth1              up | 
 |       e4.5            eth1              up | 
 |       e4.6            eth1              up | 
 |       e4.7            eth1              up | 
 |       e4.8            eth1              up | 
 |       e4.9            eth1              up | 
 |  | 
 |   Use /sys/module/aoe/parameters/aoe_iflist (or better, the driver | 
 |   option discussed below) instead of /dev/etherd/interfaces to limit | 
 |   AoE traffic to the network interfaces in the given | 
 |   whitespace-separated list.  Unlike the old character device, the | 
 |   sysfs entry can be read from as well as written to. | 
 |  | 
 |   It's helpful to trigger discovery after setting the list of allowed | 
 |   interfaces.  The aoetools package provides an aoe-discover script | 
 |   for this purpose.  You can also directly use the | 
 |   /dev/etherd/discover special file described above. | 
 |  | 
 | DRIVER OPTIONS | 
 |  | 
 |   There is a boot option for the built-in aoe driver and a | 
 |   corresponding module parameter, aoe_iflist.  Without this option, | 
 |   all network interfaces may be used for ATA over Ethernet.  Here is a | 
 |   usage example for the module parameter. | 
 |  | 
 |     modprobe aoe_iflist="eth1 eth3" |