[5156] in linux-scsi channel archive
Linux SCSI Targets
daemon@ATHENA.MIT.EDU (Office9x+eXchange=emperors new clo)
Tue Nov 17 06:23:12 1998
Date: Mon, 16 Nov 1998 17:44:52 -0700
From: fiala@cxcad.cxo.dec.com (Office9x+eXchange=emperors new clothes)
To: LINUX-SCSI@vger.rutgers.edu, STEFAN.FIALA@bwn.net
X-Vms-To: LINUX-SCSI@VGER.RUTGERS.EDU
***I'd suggest that most efficient bidirectional protocols would
***require a talker/listener approach.
***Consequently the Send-Message [aka write] would have
***to have a receiver who then turned around and issued
***a Send-Message back [for an ack or similar].
***The recipient of a Send-Message is in effect a Slave
***using target mode. Now one could concoct schemes that
***used intermediate devices [disks etc] as buffers or WHY.
***This doesnt seem very efficient however.
***Any decent clustering protocol would require the adapters
***to act as senders and recievers both. This would mean
***Initiator and Target mode. I have experience with a bi-directional
***SCSI protocol using Processor devices that capitalised on the
***SCSI chips [Emulex FAS] to ability to do both Init/target.
***It was fairly straightforward and fairly fast.
***It still suffered from being Scuzzy.
***
***Michael Weller in replying to Jeff Noxon:-
On Sun, 15 Nov 1998, Jeff Noxon wrote:
> On Sat, Nov 14, 1998 at 09:27:21PM +0100, Gerard Roudier wrote:
> > YES!
> > I read you have been told about some SCSI project for Linux that
> > implements SCSI target mode. It seems guys wanted to implement kind of
> > network or cluster link. For that, just implementing the PROCESSOR device
> > should have been enough. You should have a look at this code, I think.
>
> Are you talking about IP over SCSI? They did not use target mode.
> If I recall correctly they used a SEND MESSAGE command or similar. I
> need to look back at that project and find a copy of the SCSI spec.
***The recipient of Send-Message [scsi write] is a Target...
Although SCSI specifies a SEND MESSAGE command (for an SCSI network card
or similar; well is there any one outside actually?) host A would need to
send a SEND MESSAGE command to host B, hence host B is target of the scsi
command and must be in 'target mode' then.
Target mode here merely only means that the host can accept data from the
SCSI bus which it did not explicitly ask for. Either A or B (probably
both) must be able to do that in order for communication between them.
***It means that it can respond to selection of its own ID and drive the
***buss as if it were a target. It typically uses ISR vectors to differentiate
***Initiator/Target mode.
The only scenario to connect two hosts over scsi w/o target mode I can
imagine is with a third SCSI target device to which 'A' sends his message
and 'B' polls on occasion: 'Do you have a message for me from 'A''. Well,
actually 'B' could issue a read to this target for the message, the target
disconnects then reconnects and transmits later if a message actually
arrived (thus no 'active poll' required.)
I'm not aware that the IP-SCSI project uses a device like this. A way out
with standard hardware would be a SCSI disk where both host communicate by
scribling over the same disk blocks. Hmm, I don't think this is anything
else than a bad bad kludge.
***Sounds like store and forward ???.
Michael.
--
*** Stefan Fiala
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu