NVME-DIR-SEND(1) NVMe Manual NVME-DIR-SEND(1)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

```
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](#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 &lt;device&gt; 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](#OPTIONS)

-n &lt;nsid&gt;, --namespace-id=&lt;nsid&gt;

Retrieve the feature for the given nsid. This is optional and most features do not use this value.

-D &lt;dtype&gt;, --dir-type=&lt;dtype&gt;

Directive type

-S &lt;dspec&gt;, --dir-spec=&lt;dspec&gt;

Directive specific

-O &lt;doper&gt;, --dir-oper=&lt;doper&gt;

Directive operation

-T &lt;tdir&gt;, --target-dir=&lt;nsr&gt;

Target directive of the operation

-e &lt;endir&gt;, --endir=&lt;endir&gt;

Target directive [enable(1)](/man/os/nvme-cli/enable.1) or disable (0) operation

Select Description 0 Current 1 Default 2 Saved 3 Supported capabilities 4–7 Reserved

-l &lt;data-len&gt;, --data-len=&lt;data-len&gt;

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.

# [GLOBAL OPTIONS](#GLOBAL_OPTIONS)

The following options are defined at the top-level nvme command and are available to this subcommand:

--dry-run

Print the command that would be executed, but do not actually execute it.

--no-ioctl-probing

Disable probing for 64-bit IOCTL support.

--no-retries

Disable retry logic on transient errors.

-o &lt;fmt&gt;, --output-format=&lt;fmt&gt;

Set the reporting format to *normal*, *tabular, 'json*, or *binary*. Only one output format may be used at a time.

--output-format-version=&lt;version&gt;

Select the output format version. Version *1* uses the original field naming, while version *2* (default) provides more consistent and script-friendly field names.

--timeout=&lt;ms&gt;

Set the timeout for the command in milliseconds.

-v, --verbose

Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in [nvme-cli.conf(5)](/man/os/nvme-cli/nvme-cli.conf.5). A command-line flag always overrides the file.

# [EXAMPLES](#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](#NVME)

Part of the nvme-user suite

09/18/2026 NVMe

---

Document: nvme-dir-send(1) from nvme-cli 3.1-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
