nvme-dir-send(1)
================

NAME
----
nvme-dir-send - Issue a directive send command, returns applicable results

SYNOPSIS
--------
[verse]
'nvme' [<global-options>] 'dir send' <device>
			[--namespace-id=<nsid> | -n <nsid>]
			[--data-len=<data-len> | -l <data-len>]
			[--dir-type=<dtype> | -D <dtype>]
			[--dir-spec=<dspec> | -S <dspec>]
			[--dir-oper=<doper> | -O <doper>]
			[--endir=<endir> | -e <endir>]
			[--target-dir=<tdir> | -T <tdir>] [--raw-binary | -b]

DESCRIPTION
-----------
Submits an NVMe Directive Send admin command and returns the applicable
results. This may be the combination of directive type, and operation, as
well as target directive and its enable/disable status of the operation,
if specific operation needs it.

The <device> parameter is mandatory and may be either the NVMe character
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

On success, the returned directive's parameter structure (if applicable) is
returned in one of several ways depending on the option flags; the
structure may parsed by the program and displayed in hex, or the raw buffer
may be printed to stdout for another program to parse.

The bare 'nvme dir-send' form (without a space) still works as a deprecated
alias and will be removed in a future major version. New scripts should
use 'nvme dir send' instead.

OPTIONS
-------
-n <nsid>::
--namespace-id=<nsid>::
	Retrieve the feature for the given nsid. This is optional and
	most features do not use this value.

-D <dtype>::
--dir-type=<dtype>::
	Directive type

-S <dspec>::
--dir-spec=<dspec>::
	Directive specific

-O <doper>::
--dir-oper=<doper>::
	Directive operation

-T <tdir>::
--target-dir=<nsr>::
	Target directive of the operation

-e <endir>::
--endir=<endir>::
	Target directive enable(1) or disable (0) operation
+
[]
|==================
|Select|Description
|0|Current 
|1|Default 
|2|Saved
|3|Supported capabilities
|4–7|Reserved
|==================

-l <data-len>::
--data-len=<data-len>::
	The data length for the buffer returned for this feature. Most
	known features do not use this value. The exception is LBA
	Range Type

-b::
--raw-binary::
	Print the raw receive buffer to stdout if the command returns
	a structure.

include::global-options.txt[]

EXAMPLES
--------
* Enable streams directive :
+
------------
# nvme dir send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 1
------------
+

* Disable streams directive :
+
------------
# nvme dir send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 0
------------
+

* Release all allocated streams resource :
+
------------
# nvme dir send /dev/nvme0n1 --dir-type 1 --dir-oper 2
------------
+

* Release stream ID 3 :
+
------------
# nvme dir send /dev/nvme0 --dir-type 1 --dir-oper 1 --dir-spec 3
------------
+
It is probably a bad idea to not redirect stdout when using this mode.

NVME
----
Part of the nvme-user suite
