freebsd-nq/sys/dev/iscsi
John Baldwin 7b02c1e8c6 iscsi: Fetch limits based on a socket rather than assuming global limits.
cxgbei needs the ability to return different limits based on the
connection (e.g. if the connection is over a T5 adapter or a T6
adapter as well as factoring in the MTU).

This change plumbs through the changes in the ioctls without changing
any of the backends.  The limits callback passed to icl_register now
accepts a second socket argument which holds the integer file
descriptor.  To support ABI compatiblity for old binaries, the
callback should return "global" values if the socket fd is zero.

The CTL_ISCSI_LIMITS argument used with CTL_ISCSI by ctld(8) now
accepts the socket fd in a field that was previously part of a
reserved spare field.  Old binaries zero this request which results in
passing a socket fd of 0 to the limits callback.

The ISCSIDREQUEST ioctl no longer returns limits.  Instead, iscsid(8)
invokes a new ISCSIDLIMITS ioctl after establishing the connection via
connect(2).  For ABI compat, if the old ISCSIDREQUEST is invoked, the
global limits are still fetched (with a socket fd of 0) and returned.

Reviewed by:	mav
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D34928
2022-04-18 12:53:28 -07:00
..
icl_conn_if.m iscsi: Handle unmapped I/O requests. 2022-03-10 15:49:53 -08:00
icl_soft_proxy.c iscsi: Use calloutng instead of ticks in iscsi initiator 2022-02-15 17:36:22 +01:00
icl_soft.c iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-04-18 12:53:28 -07:00
icl_wrappers.h iscsi: Handle unmapped I/O requests. 2022-03-10 15:49:53 -08:00
icl.c iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-04-18 12:53:28 -07:00
icl.h iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-04-18 12:53:28 -07:00
iscsi_ioctl.h iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-04-18 12:53:28 -07:00
iscsi_proto.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
iscsi.c iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-04-18 12:53:28 -07:00
iscsi.h iscsi: per-session timeouts and rapid teardown of session on reconnect 2022-02-25 10:35:47 +01:00