Hello Mike, Vikas, and all,

Thanks for the great work in creating the flash node mechanism!

To extend the conversation we had to add support for software and other
offload solutions that requires iscsid/iscsiadm to create the sessions,
the following needs to be further discussed:

1. Flash node creation.

The current solution relies on the transport driver to initiate the
flash node sysfs creation upon iscsi_host allocation.  This presents a
fundamental problem for software iSCSI as new iscsi_host instance won't
get created until there's a session initiation.

Per our conversation, I think it makes sense to move the flash node
initiation code altogether to a separate module like how its done for
ibft.  The new module shall cycle through each existing iSCSI host and
query the corresponding transport to fill the flash node sysfs entries
specific to that host.  Perhaps via a new transport callback or so.

Since there won't be any pre-existing host created for software iSCSI,
this needs to be handled differently.  Instead, the new module will also
need to cycle through each network interfaces present and query for the
flash node content separately.

To accomplish this, each network interface will need to be made aware of
flash nodes and also provide a way for the new module to read out the
flash node content.  Per our conversation, this can be done via an
extension of the ethtool utility.  For unsupported network drivers, this
call will simply return an unsupported ethtool extension error.  For
others, it can return a memory pointer to the flash node content.

Additionally, the net tools must also provide a way for these net params
to be populated to the corresponding network interfaces.  This needs
further discussion.


2. Initiator iSCSI/network params.

The current solution does not provide any means to link initiator
parameters to the associated flash nodes.

In order to resolve this, new initiator entries will need to be created
alongside or inside these flash node sysfs entries.  The content and
naming will somewhat follow our last conversation of creating
corresponding entries inside the iscsi_flashnode sysfs as follows:

/sys/bus/iscsi_flashnode/devices/flashnode_initiator-<host_no>:<flashnode_id>/<
initiator attrs>

Offload solutions that doesn't need to use this can ignore these
initiator entries.


3. Connection initiation.

The current solution provides 2 ways to initiate the connection to these
flash node targets; initiate from inside the driver, or via the iscsiadm
flash node login command.
 
This posts a problem for software iSCSI and other offload solutions as
they do not conventionally initiate a connection from within the driver.

One way to resolve this is to augment the iscsi tool to loop through
these entries and create the sessions automatically upon start-up.

We can simply add a transport switch here for offload solutions that
doesn't want/need this.


Comments welcome!  Thanks.

Eddie


On Tue, 2013-02-19 at 07:05 -0500, [email protected] wrote:
> From: Adheer Chandravanshi <[email protected]>
> 
> This patch allows iscsiadm to manage iSCSI target information stored on
> adapter flash on per host basis.
> 
> The sysfs entries will look as cited below:
>     
> /sys/bus/iscsi_flashnode/devices/flashnode_sess-<host_no>:<flashnode_id>/<session
>  attrs>
>     
> /sys/bus/iscsi_flashnode/devices/flashnode_conn-<host_no>:<flashnode_id>:<conn_id>/<conn
>  attrs>
> 
> Signed-off-by: Adheer Chandravanshi <[email protected]>
> Signed-off-by: Manish Rangankar <[email protected]>
> Signed-off-by: Vikas Chaudhary <[email protected]>
> ---
>  drivers/scsi/scsi_transport_iscsi.c |  998 
> ++++++++++++++++++++++++++++++++++-
>  include/scsi/iscsi_if.h             |  112 ++++
>  include/scsi/scsi_transport_iscsi.h |  150 ++++++
>  3 files changed, 1259 insertions(+), 1 deletions(-)
> 



-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/open-iscsi?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to