On 06/06/2017 08:07 PM, Robert LeBlanc wrote: > This patchset enables iSCSI offload drivers to have access to the iface > information provided by iscsid. This allows users to have more control > of how the driver connects to the iSCSI target. iSER is updated to use > iface.ipaddress to set the source IP address if configured. This allows > iSER to use multiple ports on the same network or in more complicated > routed configurations. > > Since there is already a change to the function parameters, dst_addr > is upgraded to sockaddr_storage so that it is more future proof and makes > the size of the struct static and not dependent on checking the SA_FAMILY. > > This is dependent on updates to Open-iSCSI. > > Robert LeBlanc (7): > scsi/scsi_transport_iscsi: Add iface struct to kernel. > scsi/scsi_transport_iscsi: Update ep_connect to include iface. > ib/iSER: Add binding to source IP address. > scsi/be2iscsi: Update beiscsi_ep_connect to accept iface and > sockaddr_storage. > scsi/bnx2i: Update bnx2i_ep_connect to accept iface and > sockaddr_storage. > scsi/cxgbi: Update cxgbi_ep_connect to accept iface and > sockaddr_storage. > scsi/qla4xxx: Update qla4xxx_ep_connect to accept iface and > sockaddr_storage. > > drivers/infiniband/ulp/iser/iscsi_iser.c | 33 +++++++-- > drivers/infiniband/ulp/iser/iscsi_iser.h | 4 +- > drivers/infiniband/ulp/iser/iser_initiator.c | 1 + > drivers/infiniband/ulp/iser/iser_memory.c | 1 + > drivers/infiniband/ulp/iser/iser_verbs.c | 8 ++- > drivers/scsi/be2iscsi/be_cmds.c | 1 + > drivers/scsi/be2iscsi/be_iscsi.c | 8 ++- > drivers/scsi/be2iscsi/be_iscsi.h | 5 +- > drivers/scsi/be2iscsi/be_main.c | 1 + > drivers/scsi/be2iscsi/be_mgmt.c | 1 + > drivers/scsi/bnx2i/bnx2i_hwi.c | 1 + > drivers/scsi/bnx2i/bnx2i_iscsi.c | 13 ++-- > drivers/scsi/cxgbi/libcxgbi.c | 15 ++-- > drivers/scsi/cxgbi/libcxgbi.h | 2 +- > drivers/scsi/qla4xxx/ql4_os.c | 15 ++-- > drivers/scsi/scsi_transport_iscsi.c | 9 ++- > include/scsi/scsi_transport_iscsi.h | 100 ++++++++++++++++++++++++++- > 17 files changed, 179 insertions(+), 39 deletions(-) > Hmm. That it rather large, just for passing information from userspace into the kernel. What is the actual benefit here? Personally, I would rather see iscsid creating tap interfaces associated with each iSCSI offload interface, and having the kernel accessing the information from _that_. Then each connection would have a network interface attached to it, and could retrieve the information from there. Plus we could use 'normal' userspace tools like 'ip' to configure the iSCSI offload network. Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)