sdaoe – ATA-over-Ethernet (AoE) storage device interface


bind -a #S /dev echo config switch on spec l type aoe//dev/aoe/ shelf.slot >/dev/sdctl echo config switch off spec l >/dev/sdctl

unhandled troff command .sp

/dev/sdl0/ctl /dev/sdl0/raw /dev/sdl0/data ...

unhandled troff command .sp

addaoe letter unit


Sdaoe has a few quirks because network-attached storage can’t be enumerated as directly-attached storage can. The default first controller letter for AoE devices is e. Each sdaoe device must be configured explicitly.

Addaoe packages up the switch on invocation as an rc script.

To boot from an AoE root, the sd device must be configured on boot by either PXE booting or booting from directly-attached storage and adding two configuration lines to plan9.ini(8) for aoeif, listing the names of the Ethernet interface(s) to use, and aoedev=letter!#æ/aoe/lun.


To configure target (LUN) 42.0 on #S/sde0,


echo config switch on spec e type aoe//dev/aoe/42.0 >/dev/sdctl

To turn this device off,


echo config switch off spec e >/dev/sdctl

To boot using target 42.0 as #S/sde0 and as root, over Ethernet interfaces 0 and 1,


aoeif=ether0 ether1




aoe(3), sd(3), snoopy(8)


It is not currently possible to boot from an AoE target without an external bootstrap like PXE.