CTLD(8) FreeBSD System Manager's Manual CTLD(8)


ctldCAM Target Layer / iSCSI target daemon


ctld [ -d][ -f config-file]


The ctld daemon is responsible for managing the CAM Target Layer configuration, accepting incoming iSCSI connections, performing authentication and passing connections to the kernel part of the native iSCSI target.

Upon startup, the ctld daemon parses the configuration file and exits, if it encounters any errors. Then it compares the configuration with the kernel list of LUNs managed by previously running ctld instances, removes LUNs no longer existing in the configuration file, and creates new LUNs as necessary. After that it listens for the incoming iSCSI connections, performs authentication, and, if successful, passes the connections to the kernel part of CTL iSCSI target, which handles it from that point.

When it receives a SIGHUP signal, the ctld reloads its configuration and applies the changes to the kernel. Changes are applied in a way that avoids unnecessary disruptions; for example removing one LUN does not affect other LUNs.

When exiting gracefully, the ctld daemon removes LUNs it managed and forcibly disconnects all the clients. Otherwise - for example, when killed with SIGKILL - LUNs stay configured and clients remain connected.

To perform administrative actions that apply to already connected sessions, such as forcing termination, use ctladm(8).

The following options are available:

-f config-file
Specifies the name of the configuration file. The default is /etc/ctl.conf.
Debug mode. The server sends verbose debug output to standard error, and does not put itself in the background. The server will also not fork and will exit after processing one connection. This option is only intended for debugging the target.


The configuration file for ctld. The file format and configuration options are described in ctl.conf(5).
The default location of the ctld PID file.


The ctld utility exits 0 on success, and >0 if an error occurs.


The ctld was developed by Edward Tomasz Napierala <trasz@FreeBSD.org> under sponsorship from the FreeBSD Foundation.
July 20, 2014 FreeBSD