cf653b7a mhorne May 14, 2021, 8:34 p.m.
The branch argument is conditional on the -b flag.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D30262
cgit
e73e2ee0 jhb May 14, 2021, 7:21 p.m.
The CTL frontend might have provided a buffer that is smaller than the
FirstBurstLength and thus smaller than the amount of unsolicited data
included in the request PDU.  Treat these transfers as an empty
transfer.

Reported by:	Jithesh Arakkan @ Chelsio
Sponsored by:	Chelsio Communications

Differential Revision:	https://reviews.freebsd.org/D29940
cgit
e894e3ad jhb May 14, 2021, 7:21 p.m.
A single union ctl_io can be reused across multiple transfers (in
particular by the ramdisk backend).  On a reuse, the reservation
pointer would retain its value from the previous transfer tripping an
assertion.

Reported by:	Jithesh Arakkan @ Chelsio
Sponsored by:	Chelsio Communications

Differential Revision:	https://reviews.freebsd.org/D29939
cgit
1ad32ad0 jhb May 14, 2021, 7:21 p.m.
The firmware no longer requires this workaround.

Discussed with:	np
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29912
cgit
4add8e4c jhb May 14, 2021, 7:17 p.m.
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29911
cgit
a1c68734 jhb May 14, 2021, 7:17 p.m.
- Switch to allocating the cxgbei version of icl_pdu explicitly
  as a separate refcounted object allocated via malloc/free
  instead of storing it in the bhs mbuf prior to the bhs.

- Support the icl_conn_pdu_queue_cb() method to set a callback
  on a PDU to be invoked when the PDU is freed.

- For ICL_NOCOPY buffers, use an external mbuf to manage the
  storage for the buffer via m_extaddref().  Each external mbuf
  holds a reference on the associated PDU, so the callback is
  invoked once all of the external mbufs have been freed.

Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29910
cgit
31df8ff7 jhb May 14, 2021, 7:17 p.m.
- Only allocate 16K jumbo mbufs if the region of data to be
  appended is sufficiently large, and use a loop.

- Use m_getm2() to allocate a chain for data less than 16K, or
  if m_getjcl() fails.

- Use ENOMEM as the return value instead of '1' if the hook fails due
  to a memory allocation error.

Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29909
cgit
46bee804 jhb May 14, 2021, 7:17 p.m.
A CAM target layer I/O CCB can use a S/G list of virtual address ranges
to describe its data buffer.  This change adds zero-copy receive support
for such requests.

Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29908
cgit
23b209ee jhb May 14, 2021, 7:17 p.m.
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29907
cgit
91ca7b09 jhb May 14, 2021, 7:16 p.m.
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29906
cgit
87bb5ed6 jhb May 14, 2021, 7:16 p.m.
Forthcoming T6 iSCSI DDP support requires hardware RX flow control.

Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29905
cgit
4427ac36 jhb May 14, 2021, 7:16 p.m.
As a result, CPL_FW4_ACK now returns credits for these work requests.
To support this, page pod work requests are now constructed in special
mbufs similar to "raw" mbufs used for NIC TLS in plain TX queues.
These special mbufs are stored in the ulp_pduq and dispatched in order
with PDU work requests.

Sponsored by:	Chelsio Communications
Discussed with:	np
Differential Revision:	https://reviews.freebsd.org/D29904
cgit
4b6ed075 jhb May 14, 2021, 7:16 p.m.
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29903
cgit
76cfc6fa melifaro May 14, 2021, 4:06 p.m.
update_rtm_from_rc() calls update_rtm_from_info() internally.
The latter one may update provided prtm pointer with a new rtm.
Reassign rtm from prtm afeter calling update_rtm_from_info() to
 avoid touching the freed rtm.

PR:		255871
Submitted by:	lylgood@foxmail.com
MFC after:	3 days
cgit
852088f6 mjg May 14, 2021, 3:42 p.m.
Fixes:	("vfs: lockless writecount adjustment in set/unset text")
cgit