1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
.\" Copyright (c) 2013 Edward Tomasz Napierala
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.Dd August 9, 2015
.Dt CTL 4
.Os
.Sh NAME
.Nm ctl
.Nd CAM Target Layer / iSCSI target
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following line in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device iscsi"
.Cd "device ctl"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
ctl_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
subsystem provides SCSI disk and processor emulation.
It supports features such as:
.Pp
.Bl -bullet -compact
.It
Disk and processor device emulation
.It
Tagged queueing
.It
SCSI task attribute support (ordered, head of queue, simple tags)
.It
SCSI implicit command ordering support
.It
Full task management support (abort, LUN reset, target reset, etc.)
.It
Support for multiple ports
.It
Support for multiple simultaneous initiators
.It
Support for multiple simultaneous backing stores
.It
Support for VMWare VAAI: COMPARE AND WRITE, XCOPY, WRITE SAME,
and UNMAP commands
.It
Support for Microsoft ODX: POPULATE TOKEN/WRITE USING TOKEN,
WRITE SAME, and UNMAP commands
.It
Persistent reservation support
.It
Mode sense/select support
.It
Error injection support
.It
All I/O handled in-kernel, no userland context switch overhead
.El
.Pp
It also serves as a kernel component of the native iSCSI target.
.Sh SYSCTL VARIABLES
The following variables are available as both
.Xr sysctl 8
variables and
.Xr loader 8
tunables:
.Bl -tag -width indent
.It Va kern.cam.ctl.debug
Bit mask of enabled CTL log levels:
.Bl -tag -offset indent -compact
.It 1
log commands with errors;
.It 2
log all commands;
.It 4
log received data for commands except READ/WRITE.
.El
Defaults to 0.
.It Va kern.cam.ctl.iscsi.debug
Verbosity level for log messages from the kernel part of iSCSI target.
Set to 0 to disable logging or 1 to warn about potential problems.
Larger values enable debugging output.
Defaults to 1.
.It Va kern.cam.ctl.iscsi.maxcmdsn_delta
The number of outstanding commands to advertise to the iSCSI initiator.
Technically, it is the difference between ExpCmdSN and MaxCmdSN fields
in the iSCSI PDU.
Defaults to 256.
.It Va kern.cam.ctl.iscsi.ping_timeout
The number of seconds to wait for the iSCSI initiator to respond to a NOP-In
PDU.
In the event that there is no response within that time the session gets
forcibly terminated.
Set to 0 to disable sending NOP-In PDUs.
Defaults to 5.
.Sh SEE ALSO
.Xr ctladm 8 ,
.Xr ctld 8 ,
.Xr ctlstat 8
.Sh HISTORY
The
.Nm
subsystem first appeared in
.Fx 9.1 .
.Sh AUTHORS
The
.Nm
subsystem was written by
.An Kenneth Merry Aq Mt ken@FreeBSD.org .
|