3 aoe \- ATA-over-Ethernet (AoE) interface
10 .BI /dev/aoe/ shelf . slot /config
11 .BI /dev/aoe/ shelf . slot /ctl
12 .BI /dev/aoe/ shelf . slot /devlink/0
14 .BI /dev/aoe/ shelf . slot /devlink/ i
15 .BI /dev/aoe/ shelf . slot /ident
19 The AoE (ATA-over-Ethernet) interface serves a three-level
20 directory providing control and access to AoE targets.
21 The interface provided is primarily intended for low-level
22 control of the AoE initiator. See
24 for the standard interface.
26 In order to access AoE targets, one or more Ethernet controllers
27 need to be bound to the AoE initiator. By default, the system
28 starts with no interfaces bound. For automatic binding of interfaces
31 configuration variable is set in
33 Ethernet interfaces are specified as
37 To bind the first and second Ethernet devices on boot, add
48 % echo bind '#l1/ether1' >/dev/aoe/ctl
54 % echo unbind '#l1/ether1' >/dev/aoe/ctl
57 When an interface is unbound, targets depending
58 on that interface are removed.
60 Each local interface is called a
63 AoE targets to netlinks is called a
66 see multiple interfaces per target.
67 For example, if the local
68 machine has one Ethernet address bound and the target has
69 two interfaces on the same Ethernet segment, this will result
70 in one netlink and one devlink with two Ethernet addresses.
71 AoE frames are sent in round-robin fashion.
73 frame is sent on the next address available on the next available
74 devlink (local interface).
76 Normally the initiator automatically discovers and adds new
77 device directories on startup. New devices are not added
78 except as new interfaces are bound to the initiator.
79 Several messages can be written to
81 which alter this behavior:
83 .BI autodiscover\ toggle
87 is toggled. If it is the string
89 it is turned on. Any other string turns
92 This option is not useful after Ethernet devices have been bound.
94 .BI discover\ shelf.slot
95 Attempt to find the named target on all bound interfaces.
97 .BI remove\ shelf.slot
100 remove the named target if it exists.
102 .BI rediscover\ toggle
103 Allow or disallow rediscovery.
104 This allows for automatic discovery of new targets.
105 Unfortunately, it also allows automatic modification
106 or loss of existing targets. This option is considered dangerous.
112 returns a list of colon-separated lines
113 with keywords and their values:
123 Returns the current state of the variable named by the keyword.
124 Writing the variable's
125 name to the control file toggles the state of that variable.
131 bound Ethernet device.
134 Ethernet address of this device.
137 A flag of ``Up'' indicates that this interface is available.
140 Number of consecutive lost jumbograms.
143 Incorrect and unused.
144 .SS Shelf-and-slot subdirectories
145 Once configured, each AoE target is accessed via files in the directory named
146 for its shelf and slot. For example, shelf 42, slot 0 would be
147 accessed through the path
151 file contains the read-only, verbatim result of the identify unit ATA command.
154 file contains the target's AoE configuration string. Writing to this file
155 sets the targets configuration string.
157 Reading a shelf and slot's
159 file returns a list of colon-separated lines
160 with the following keywords and values:
168 Number of clients using this target.
171 Number of outstanding AoE frames.
174 Maximum number of outstanding frames allowed.
177 Maximum number of outstanding frames.
181 when the initiator is reducing the number of in-flight
182 frames due to packet loss. It is assumed that packet
183 loss is due to an overwhelmed target and not poor
187 Maximum number of data bytes per AoE frame. Using
190 is 1024 or two sectors.
191 AoE ATA headers are 36 bytes.
199 The respective fields from the ATA
205 List of flags useful for debugging. The flag
207 indicates that jumbo frames are accepted, not that
210 should be consulted for this purpose.
214 file may be read or written like a normal file
215 except that reads and writes to this file are converted to
216 AoE commands to the target, so transfers should be 512 or 1024 bytes long
217 (or a larger multiple of 512 iff jumbo packets are in use).
218 The size of this file is the usable size of the target.
222 directory contains one file for each interface the target was
223 discovered on. The files are numbers from 0 to
225 and contain a list of colon-separated lines
226 with keywords and their values:
231 A space-separated list of the target's Ethernet addresses visible from
235 The number of frames sent on this interface.
238 The number of frames re-sent. Frames are re-sent
239 when they have been outstanding twice the RTT average.
242 ``Up'' when the netlink is up.
248 Minimum timer and RTT average as per
249 .IR "Congestion Avoidance and Control" .
253 Path of the Ethernet device.
256 Ethernet address of the local Ethernet device.
259 ``Up'' if the local interface is up.
262 Number of consecutive jumbograms lost.
268 .B /sys/src/9/port/devaoe.c
277 .BR http://www.coraid.com/documents/AoEr10.txt
279 Van Jacobson and Michael J. Karels,
280 .IR "``Congestion Avoidance and Control''" ,
281 ACM Computer Communication Review;
282 Proceedings of the Sigcomm '88 Symposium in Stanford, CA, August, 1988.
286 file for executing arbitrary commands.
288 This is a fairly primitive interface;
290 is usually more suitable.