opnsense-src/sys
John Baldwin 51983604da iscsi: Teach the iSCSI stack about "large" received PDUs.
When using iSCSI PDU offload (cxgbei) on T6 adapters, a burst of
received PDUs can be reported via a single message to the driver.

Previously the driver passed these multi-PDU bursts up to the iSCSI
stack up as a single "large" PDU by rewriting the buffer offset, data
segment length, and DataSN fields in the iSCSI header.  The DataSN
field in particular was rewritten so that each of the "large" PDUs
used consecutively increasing values.  While this worked, the forged
DataSN values did not match the ExpDataSN value in the subsequent SCSI
Response PDU.  The initiator does not currently verify this value, but
the forged DataSN values prevent adding a check.

To avoid this, allow a logical iSCSI PDU (struct icl_pdu) to describe
a burst of PDUs via a new 'ip_additional_pdus' field.  Normally this
field is set to zero when 'struct icl_pdu' represents a single PDU.
If logical PDU represents a burst of on-the-wire PDUs, then 'ip_npdus'
contains the count of additional on-the-wire PDUs.  The header of this
"large" PDU is still modified, but the DataSN field now contains the
DataSN value of the first on-the-wire PDU in the burst.

Reviewed by:	mav
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D31577

(cherry picked from commit c261b6ea4e)
2021-10-29 16:30:51 -07:00
..
amd64 amd64: Zero the PML5 PTI page when initializing a pmap 2021-10-25 08:46:43 -04:00
arm Enable PPS_SYNC on amd64, arm64 and armv7 2021-10-17 03:28:13 +03:00
arm64 Only demote when needed in the arm64 pmap_change_props_locked 2021-10-25 14:46:44 +01:00
bsm
cam iscsi: Teach the iSCSI stack about "large" received PDUs. 2021-10-29 16:30:51 -07:00
cddl kern: drop remaining references to removed makesyscalls.sh 2021-09-14 20:53:03 -05:00
compat LinuxKPI: Support lazy BAR allocation 2021-10-24 19:51:15 +01:00
conf ossl: Add ChaCha20 cipher support. 2021-10-21 08:51:24 -07:00
contrib Upgrade ENA to v2.4.1 2021-10-07 18:10:32 +02:00
crypto crypto: Support Chacha20-Poly1305 with a nonce size of 8 bytes. 2021-10-21 14:19:30 -07:00
ddb
dev iscsi: Teach the iSCSI stack about "large" received PDUs. 2021-10-29 16:30:51 -07:00
dts
fs nfscl: Add an argument to nfscl_tryclose() 2021-10-28 20:19:11 -07:00
gdb
geom geom_label: Add more validation for NTFS volume tasting 2021-10-18 09:07:58 -04:00
gnu
i386 i386: move signal delivery code to exec_machdep.c 2021-10-16 16:01:47 +03:00
isa
kern uipc_shm: silent warnings about write-only variables in largepage code 2021-10-27 03:24:41 +03:00
kgssapi
libkern
mips crypto: Add a new type of crypto buffer for a single mbuf. 2021-10-21 08:51:26 -07:00
modules ossl: Add ChaCha20 cipher support. 2021-10-21 08:51:24 -07:00
net pf: remove unused field from pf_kanchor 2021-10-22 09:34:08 +02:00
net80211
netgraph ng_ppp(4): Fix a typo in a comment 2021-10-17 10:35:19 +02:00
netinet Change lowest address on subnet (host 0) not to broadcast by default. 2021-10-19 08:16:32 -05:00
netinet6 nd6: Make the DAD callout MPSAFE 2021-09-21 09:37:52 -04:00
netipsec ipsec: enter epoch before calling into ipsec_run_hhooks 2021-10-11 09:10:31 +00:00
netpfil pf: do not copy anchor_wildcard / anchor_relative from userspace 2021-10-22 09:34:18 +02:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -04:00
opencrypto crypto: Support Chacha20-Poly1305 with a nonce size of 8 bytes. 2021-10-21 14:19:30 -07:00
powerpc Restore PPS_SYNC in NOTES 2021-10-17 03:28:13 +03:00
riscv riscv: Implement pmap_mapdev_attr 2021-10-24 19:51:10 +01:00
rpc rpc: Convert an SOLISTENING check to an assertion 2021-09-24 09:01:07 -04:00
security
sys sys/bus.h: silence warnings about write-only variables 2021-10-27 03:24:40 +03:00
teken
tests
tools makesyscalls.lua: add a CAPENABLED flag 2021-10-20 00:19:56 +01:00
ufs ufs: remove write-only variables 2021-10-27 03:24:40 +03:00
vm vm_page: Move vm_page_alloc_check() to after page allocator definitions 2021-10-27 09:53:29 -04:00
x86 DMAR: clean up warnings about write-only variables 2021-10-27 03:24:40 +03:00
xdr
xen
Makefile