summaryrefslogtreecommitdiffstats
path: root/Documentation/nvme-dir-send.txt
blob: eb5dad0da0d9861d6c2d28eed1fe94986ba8b82d (plain)
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
nvme-dir-send(1)
================

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

SYNOPSIS
--------
[verse]
'nvme 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>]
			  [--human-readable | -H]
			  [--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 printed in a readable format
if it is a known structure, displayed in hex, or the raw buffer may be
printed to stdout for another program to parse.

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.

-H::
--human-readable::
	Print the decoded receive buffer to stdout if the command returns
	a structure.

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