# Default: <the process PID>
#SharedMemoryID 0
- # Users can restrict work items to only run on certain cores by
- # specifying a ReactorMask. Default is to allow work items to run
- # on core 0.
- #ReactorMask 0xFFFF
+ # Disable PCI access. PCI is enabled by default. Setting this
+ # option will hide any PCI device from all SPDK modules, making
+ # SPDK act as if they don't exist.
+ #NoPci Yes
# Tracepoint group mask for spdk trace buffers
# Default: 0x0 (all tracepoint groups disabled)
- # Set to 0xFFFFFFFFFFFFFFFF to enable all tracepoint groups.
+ # Set to 0xFFFF to enable all tracepoint groups.
#TpointGroupMask 0x0
- # syslog facility
- LogFacility "local7"
+# Users may activate entries in this section to override default values for
+# global parameters in the block device (bdev) subsystem.
+[Bdev]
+ # Number of spdk_bdev_io structures allocated in the global bdev subsystem pool.
+ #BdevIoPoolSize 65536
+
+ # Maximum number of spdk_bdev_io structures to cache per thread.
+ #BdevIoCacheSize 256
[iSCSI]
# node name (not include optional part)
AuthFile /usr/local/etc/spdk/auth.conf
MinConnectionsPerCore 4
- # Power saving related variable, this parameter defines how long an iSCSI
- # connection must be idle before moving it to a state where it will consume
- # less power. This variable is defined in terms of microseconds. We set default
- # value as 5ms.
- MinConnectionIdleInterval 5000
# Socket I/O timeout sec. (0 is infinite)
Timeout 30
# authentication information for discovery session
+ # Options:
+ # None, Auto, CHAP and Mutual. Note that Mutual infers CHAP.
DiscoveryAuthMethod Auto
#MaxSessions 128
DefaultTime2Wait 2
DefaultTime2Retain 60
+ # Maximum amount in bytes of unsolicited data the iSCSI
+ # initiator may send to the target during the execution of
+ # a single SCSI command.
+ FirstBurstLength 8192
+
ImmediateData Yes
ErrorRecoveryLevel 0
-[Rpc]
- # Defines whether to enable configuration via RPC.
- # Default is disabled. Note that the RPC interface is not
- # authenticated, so users should be careful about enabling
- # RPC in non-trusted environments.
- Enable No
- # Listen address for the RPC service.
- # May be an IP address or an absolute path to a Unix socket.
- Listen 127.0.0.1
-
# Users must change the PortalGroup section(s) to match the IP addresses
# for their environment.
-# PortalGroup sections define which TCP ports the iSCSI server will use
-# to listen for incoming connections. These are also used to determine
-# which targets are accessible over each portal group.
+# PortalGroup sections define which network portals the iSCSI target
+# will use to listen for incoming connections. These are also used to
+# determine which targets are accessible over each portal group.
+# Up to 1024 portal directives are allowed. These define the network
+# portals of the portal group. The user must specify a IP address
+# for each network portal, and may optionally specify a port and
+# a cpumask. If the port is omitted, 3260 will be used. Cpumask will
+# be used to set the processor affinity of the iSCSI connection
+# through the portal. If the cpumask is omitted, cpumask will be
+# set to all available processors.
+# Syntax:
+# Portal <Name> <IP address>[:<port>[@<cpumask>]]
[PortalGroup1]
Portal DA1 192.168.2.21:3260
+ Portal DA2 192.168.2.22:3260@0xF
# Users must change the InitiatorGroup section(s) to match the IP
# addresses and initiator configuration in their environment.
# Netmask 192.168.1.20 <== single IP address
# Netmask 192.168.1.0/24 <== IP range 192.168.1.*
[InitiatorGroup1]
- InitiatorName ALL
+ InitiatorName ANY
Netmask 192.168.2.0/24
# NVMe configuration options
# The number of attempts per I/O when an I/O fails. Do not include
# this key to get the default behavior.
RetryCount 4
- # Timeout for each command, in seconds. If 0, don't track timeouts.
- Timeout 0
+ # Timeout for each command, in microseconds. If 0, don't track timeouts.
+ TimeoutUsec 0
# Action to take on command time out. Only valid when Timeout is greater
# than 0. This may be 'Reset' to reset the controller, 'Abort' to abort
# the command, or 'None' to just print a message but do nothing.
# Units in microseconds.
AdminPollRate 100000
- # Enable handling of hotplug (runtime insert and remove) events
- HotplugEnable Yes
+ # Disable handling of hotplug (runtime insert and remove) events,
+ # users can set to Yes if want to enable it.
+ # Default: No
+ HotplugEnable No
+
+ # Set how often the hotplug is processed for insert and remove events.
+ # Units in microseconds.
+ HotplugPollRate 0
# Users may change this section to create a different number or size of
# malloc LUNs.
-# If the system has hardware DMA engine, it will use an IOAT
-# (i.e. Crystal Beach DMA) channel to do the copy instead of memcpy.
-# Of course, users can disable offload even it is available.
+# If the system has hardware DMA engine, it can use an IOAT
+# (i.e. Crystal Beach DMA) channel to do the copy instead of memcpy
+# by specifying "Enable Yes" in [Ioat] section.
+# Offload is disabled by default even it is available.
[Malloc]
# Number of Malloc targets
NumberOfLuns 3
# Block size. Default is 512 bytes.
BlockSize 4096
-# Users may not want to use offload even it is available.
+# Users can use offload by specifying "Enable Yes" in this section
+# if it is available.
# Users may use the whitelist to initialize specified devices, IDS
# uses BUS:DEVICE.FUNCTION to identify each Ioat channel.
[Ioat]
- Disable Yes
+ Enable No
Whitelist 00:04.0
Whitelist 00:04.1
# Users must change this section to match the /dev/sdX devices to be
# exported as iSCSI LUNs. The devices are accessed using Linux AIO.
# The format is:
-# AIO <file name> <bdev name>
+# AIO <file name> <bdev name> [<block size>]
# The file name is the backing device
# The bdev name can be referenced from elsewhere in the configuration file.
+# Block size may be omitted to automatically detect the block size of a disk.
[AIO]
AIO /dev/sdb AIO0
AIO /dev/sdc AIO1
+ AIO /tmp/myfile AIO2 4096
+
+# PMDK libpmemblk-based block device
+[Pmem]
+ # Syntax:
+ # Blk <pmemblk pool file name> <bdev name>
+ Blk /path/to/pmem-pool Pmem0
# The Split virtual block device slices block devices into multiple smaller bdevs.
[Split]