HomeFreeBSD

ctld: Add abstractions to support multiple target protocols

Description

ctld: Add abstractions to support multiple target protocols

This is a prerequisite for adding NVMe over Fabrics support.

Convert portal_group, portal_group_port, and target into abstract
classes with virtual methods to support protocol-specific methods.

Add new iscsi_portal_group, iscsi_port, iscsi_portal and iscsi_target
subclasses in a new iscsi.cc file and move some iSCSI-specific logic
there. Rename ctld_connection to iscsi_connection and move it to a
new iscsi.hh header. Move iscsi_connection methods out of ctld.cc and
kernel.cc into iscsi.cc.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D48772

Details

Provenance
jhbAuthored on Aug 6 2025, 7:56 PM
Reviewer
imp
Differential Revision
D48772: ctld: Add abstractions to support multiple target protocols
Parents
rGffb02a356dfa: ctld: Refactor auth_group to support NVMe
Branches
Unknown
Tags
Unknown