From: Mike Christie <michaelc@cs.wisc.edu>
To: linux-iscsi-target-dev@googlegroups.com
Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
target-devel <target-devel@vger.kernel.org>,
linux-scsi <linux-scsi@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Christoph Hellwig <hch@lst.de>, Andy Grover <agrover@redhat.com>,
Hannes Reinecke <hare@suse.de>,
Roland Dreier <roland@purestorage.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 08/13] iscsi-target: Add CHAP Authentication support using libcrypto
Date: Sat, 23 Jul 2011 22:08:08 -0500 [thread overview]
Message-ID: <4E2B8C98.2060601@cs.wisc.edu> (raw)
In-Reply-To: <1311455867.31450.287.camel@haakon2.linux-iscsi.org>
On 07/23/2011 04:17 PM, Nicholas A. Bellinger wrote:
>
> And, we have also seen historically how painful the split has been with
> open-iscsi, which in the end took much longer to get stable (and is
> still harder to debug) than if a proper login split was used to begin
> with.
Here is my 2 cents from working on open-iscsi.
The split did not really have much to do with the initial stability in
the data paths. It was more due to it getting merged with very little
real world testing.
There were stability issues with the interface because no one ever tried
creating a hw iscsi driver for it before it got merged, because software
iscsi does a host per session and hw drivers ended up doing a host per
port or some pci resource, and then boot support.
Most bugs fixed were due to skb handling, locking/atomic issues,
spec/rfc issues - not interface issues. But many large changes had to be
done to make the initial code support hw iscsi.
I agree open-iscsi is more difficult to debug than initiators that were
mostly in kernel like iscsi_sfnet. For open-iscsi the userspace part is
a single process, many operations cannot block, it has a ulgy state
model. And how it did its split does make things more difficult, because
it breaks up every operation into a different userspace to kernel call
(create a session is a call, create a conn is a call, pass a setting is
a call, bind a conn to a session is call, start the conn is a call,
etc). For software iscsi if open-iscsi just logged in to the target,
then passed everything to the kernel in one call then it would have been
a lot easier to debug. If Tomo's design does not have those issues then
it seems like it would not be that bad for software iscsi.
I think where doing a kernel/userspace split is going to be more
difficult is with supporting hw iscsi targets. With software iscsi you
can just pass down a socket and the settings more or less. With hw
iscsi, you want to be able to send the login related packets through the
iscsi port using the iscsi engine or hw/fw might be doing the actual
login process. But, if you are putting discovery (isns, sendtargets,
dhcp iscsi/isns options, slp, etc) in userspace then you have to solve
those issues for discovery so you can use the same interfaces for both.
next prev parent reply other threads:[~2011-07-24 3:08 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-23 8:45 [PATCH 00/13] iscsi-target: Merge candidate for v3.1-rc1 Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 01/13] iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi Nicholas A. Bellinger
2011-07-23 13:34 ` Jesper Juhl
2011-07-23 21:23 ` Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 02/13] iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h Nicholas A. Bellinger
2011-07-23 14:25 ` Jesper Juhl
2011-07-23 21:29 ` Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 03/13] iscsi-target: Add iSCSI fabric support for target v4.1 Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 04/13] iscsi-target: Add target core v4.1 compatible ConfigFS control plane Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 05/13] iscsi-target: Add ConfigFS fabric dependent statistics Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 06/13] iscsi-target: Add TPG and device backend logic Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 07/13] iscsi-target: Add iSCSI Login Negotiation + Parameter logic Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 08/13] iscsi-target: Add CHAP Authentication support using libcrypto Nicholas A. Bellinger
2011-07-23 16:39 ` James Bottomley
2011-07-23 17:51 ` Linus Torvalds
2011-07-23 18:17 ` James Bottomley
2011-07-23 21:17 ` Nicholas A. Bellinger
2011-07-24 3:08 ` Mike Christie [this message]
2011-07-24 4:59 ` Nicholas A. Bellinger
[not found] ` <CAJAFBLCXQLvyLKR5ZD_foaPqU5X6VJfLQX_VAKeaWpDLLfPWnA@mail.gmail.com>
2011-07-24 16:32 ` Alex Couvrard
2011-07-24 3:52 ` James Bottomley
2011-07-24 4:41 ` Nicholas A. Bellinger
2011-07-24 5:50 ` James Bottomley
2011-07-24 7:52 ` Nicholas A. Bellinger
2011-07-25 19:31 ` Andy Grover
2011-07-25 20:42 ` Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 09/13] iscsi-target: Add Sequence/PDU list + DataIN response logic Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 10/13] iscsi-target: Add iSCSI Error Recovery Hierarchy support Nicholas A. Bellinger
2011-07-28 11:42 ` Fubo Chen
2011-07-28 20:30 ` Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 11/13] iscsi-target: Add support for task management operations Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 12/13] iscsi-target: Add misc utility logic Nicholas A. Bellinger
2011-07-28 11:30 ` Fubo Chen
2011-07-28 20:19 ` Nicholas A. Bellinger
2011-07-23 8:45 ` [PATCH 13/13] iscsi-target: Add Makefile/Kconfig and update TCM top level Nicholas A. Bellinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E2B8C98.2060601@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=James.Bottomley@HansenPartnership.com \
--cc=agrover@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=linux-iscsi-target-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=nab@linux-iscsi.org \
--cc=roland@purestorage.com \
--cc=target-devel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox