Subject: Re: SCSI network
To: Ian Dall <>
From: Eduardo E. Horvath <>
List: tech-kern
Date: 10/12/1999 08:36:21
> a) Symmetrically. This is easiest. Both ends act as initiators and targets.
>    Data is always sent with a "write" command. The hard bit comes when
>    you want to handle a target which is not ready. You could just drop
>    the packet and expect tcp to fix it up, or you could
>    disconnect. Supporting disconnect would be quite a lot of extra
>    work but is undoubtedly the best.

Since the target drives the bus cycles, the target could always hang
the bus until it has a buffer ready.  Or you could use tags and return
QFULL, but never disconnect.  From the target side disconnect is not
all that difficult.  It's only a pain from the initiator.

> b) Asymmetrically. I think an asymmetric configuration could be done by
>    the host issuing a read command, the target disconnects until it
>    has something.  If the host wants to send something before the read
>    is complete, it either aborts the read command (using an abort
>    message) or you implement support for multiple outstanding commands
>    (tagged queueing) at both ends. You would only do this if one end
>    had hardware it was particularly difficult to do target mode for.

The problem with this solution is that target devices cannot initiate
transfers, so your initiator will need to poll constantly to determine
if your target has anything to say.  Using AENs still requires the
initatior respond to selection, so that doesn't help.  

Some of the more recent additions to the SES device command set allow
an initiator to poll for an event by initating a tagged command which
immediately disconnects and only completes if the target has something
to send or a timeout (typically .5 seconds) occurs.

In either case you still require an initiator and a target, and the
target will need to act as an initiator to talk to any disks or tapes
on the bus, so you might as well bite the bullet and go with a fully
symmetrical solution.

Eduardo Horvath
	"I need to find a pithy new quote." -- me