Blame Documentation/nvme-discover.html

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Packit dd4ba5
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
Packit dd4ba5
<head>
Packit dd4ba5
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
Packit dd4ba5
<meta name="generator" content="AsciiDoc 8.6.10" />
Packit dd4ba5
<title>nvme-discover(1)</title>
Packit dd4ba5
<style type="text/css">
Packit dd4ba5
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
Packit dd4ba5

Packit dd4ba5
/* Default font. */
Packit dd4ba5
body {
Packit dd4ba5
  font-family: Georgia,serif;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
/* Title font. */
Packit dd4ba5
h1, h2, h3, h4, h5, h6,
Packit dd4ba5
div.title, caption.title,
Packit dd4ba5
thead, p.table.header,
Packit dd4ba5
#toctitle,
Packit dd4ba5
#author, #revnumber, #revdate, #revremark,
Packit dd4ba5
#footer {
Packit dd4ba5
  font-family: Arial,Helvetica,sans-serif;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
body {
Packit dd4ba5
  margin: 1em 5% 1em 5%;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
a {
Packit dd4ba5
  color: blue;
Packit dd4ba5
  text-decoration: underline;
Packit dd4ba5
}
Packit dd4ba5
a:visited {
Packit dd4ba5
  color: fuchsia;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
em {
Packit dd4ba5
  font-style: italic;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
strong {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #083194;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
h1, h2, h3, h4, h5, h6 {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  margin-top: 1.2em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
  line-height: 1.3;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
h1, h2, h3 {
Packit dd4ba5
  border-bottom: 2px solid silver;
Packit dd4ba5
}
Packit dd4ba5
h2 {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
h3 {
Packit dd4ba5
  float: left;
Packit dd4ba5
}
Packit dd4ba5
h3 + * {
Packit dd4ba5
  clear: left;
Packit dd4ba5
}
Packit dd4ba5
h5 {
Packit dd4ba5
  font-size: 1.0em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.sectionbody {
Packit dd4ba5
  margin-left: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
hr {
Packit dd4ba5
  border: 1px solid silver;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
p {
Packit dd4ba5
  margin-top: 0.5em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
ul, ol, li > p {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
ul > li     { color: #aaa; }
Packit dd4ba5
ul > li > * { color: black; }
Packit dd4ba5

Packit dd4ba5
.monospaced, code, pre {
Packit dd4ba5
  font-family: "Courier New", Courier, monospace;
Packit dd4ba5
  font-size: inherit;
Packit dd4ba5
  color: navy;
Packit dd4ba5
  padding: 0;
Packit dd4ba5
  margin: 0;
Packit dd4ba5
}
Packit dd4ba5
pre {
Packit dd4ba5
  white-space: pre-wrap;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#author {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
}
Packit dd4ba5
#email {
Packit dd4ba5
}
Packit dd4ba5
#revnumber, #revdate, #revremark {
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footer {
Packit dd4ba5
  font-size: small;
Packit dd4ba5
  border-top: 2px solid silver;
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  margin-top: 4.0em;
Packit dd4ba5
}
Packit dd4ba5
#footer-text {
Packit dd4ba5
  float: left;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
#footer-badges {
Packit dd4ba5
  float: right;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#preamble {
Packit dd4ba5
  margin-top: 1.5em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.imageblock, div.exampleblock, div.verseblock,
Packit dd4ba5
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
Packit dd4ba5
div.admonitionblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.admonitionblock {
Packit dd4ba5
  margin-top: 2.0em;
Packit dd4ba5
  margin-bottom: 2.0em;
Packit dd4ba5
  margin-right: 10%;
Packit dd4ba5
  color: #606060;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.content { /* Block element content. */
Packit dd4ba5
  padding: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
/* Block element titles. */
Packit dd4ba5
div.title, caption.title {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
div.title + * {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
td div.title:first-child {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5
div.content div.title:first-child {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5
div.content + div.title {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.sidebarblock > div.content {
Packit dd4ba5
  background: #ffffee;
Packit dd4ba5
  border: 1px solid #dddddd;
Packit dd4ba5
  border-left: 4px solid #f0f0f0;
Packit dd4ba5
  padding: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.listingblock > div.content {
Packit dd4ba5
  border: 1px solid #dddddd;
Packit dd4ba5
  border-left: 5px solid #f0f0f0;
Packit dd4ba5
  background: #f8f8f8;
Packit dd4ba5
  padding: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.quoteblock, div.verseblock {
Packit dd4ba5
  padding-left: 1.0em;
Packit dd4ba5
  margin-left: 1.0em;
Packit dd4ba5
  margin-right: 10%;
Packit dd4ba5
  border-left: 5px solid #f0f0f0;
Packit dd4ba5
  color: #888;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.quoteblock > div.attribution {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  text-align: right;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.verseblock > pre.content {
Packit dd4ba5
  font-family: inherit;
Packit dd4ba5
  font-size: inherit;
Packit dd4ba5
}
Packit dd4ba5
div.verseblock > div.attribution {
Packit dd4ba5
  padding-top: 0.75em;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Packit dd4ba5
div.verseblock + div.attribution {
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.admonitionblock .icon {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  text-decoration: underline;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  padding-right: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
div.admonitionblock td.content {
Packit dd4ba5
  padding-left: 0.5em;
Packit dd4ba5
  border-left: 3px solid #dddddd;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.exampleblock > div.content {
Packit dd4ba5
  border-left: 3px solid #dddddd;
Packit dd4ba5
  padding-left: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.imageblock div.content { padding-left: 0; }
Packit dd4ba5
span.image img { border-style: none; vertical-align: text-bottom; }
Packit dd4ba5
a.image:visited { color: white; }
Packit dd4ba5

Packit dd4ba5
dl {
Packit dd4ba5
  margin-top: 0.8em;
Packit dd4ba5
  margin-bottom: 0.8em;
Packit dd4ba5
}
Packit dd4ba5
dt {
Packit dd4ba5
  margin-top: 0.5em;
Packit dd4ba5
  margin-bottom: 0;
Packit dd4ba5
  font-style: normal;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5
dd > *:first-child {
Packit dd4ba5
  margin-top: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
ul, ol {
Packit dd4ba5
    list-style-position: outside;
Packit dd4ba5
}
Packit dd4ba5
ol.arabic {
Packit dd4ba5
  list-style-type: decimal;
Packit dd4ba5
}
Packit dd4ba5
ol.loweralpha {
Packit dd4ba5
  list-style-type: lower-alpha;
Packit dd4ba5
}
Packit dd4ba5
ol.upperalpha {
Packit dd4ba5
  list-style-type: upper-alpha;
Packit dd4ba5
}
Packit dd4ba5
ol.lowerroman {
Packit dd4ba5
  list-style-type: lower-roman;
Packit dd4ba5
}
Packit dd4ba5
ol.upperroman {
Packit dd4ba5
  list-style-type: upper-roman;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.compact ul, div.compact ol,
Packit dd4ba5
div.compact p, div.compact p,
Packit dd4ba5
div.compact div, div.compact div {
Packit dd4ba5
  margin-top: 0.1em;
Packit dd4ba5
  margin-bottom: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
tfoot {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
}
Packit dd4ba5
td > div.verse {
Packit dd4ba5
  white-space: pre;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.hdlist {
Packit dd4ba5
  margin-top: 0.8em;
Packit dd4ba5
  margin-bottom: 0.8em;
Packit dd4ba5
}
Packit dd4ba5
div.hdlist tr {
Packit dd4ba5
  padding-bottom: 15px;
Packit dd4ba5
}
Packit dd4ba5
dt.hdlist1.strong, td.hdlist1.strong {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
}
Packit dd4ba5
td.hdlist1 {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
  font-style: normal;
Packit dd4ba5
  padding-right: 0.8em;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5
td.hdlist2 {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
div.hdlist.compact tr {
Packit dd4ba5
  margin: 0;
Packit dd4ba5
  padding-bottom: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
.comment {
Packit dd4ba5
  background: yellow;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
.footnote, .footnoteref {
Packit dd4ba5
  font-size: 0.8em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
span.footnote, span.footnoteref {
Packit dd4ba5
  vertical-align: super;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes {
Packit dd4ba5
  margin: 20px 0 20px 0;
Packit dd4ba5
  padding: 7px 0 0 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes div.footnote {
Packit dd4ba5
  margin: 0 0 5px 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes hr {
Packit dd4ba5
  border: none;
Packit dd4ba5
  border-top: 1px solid silver;
Packit dd4ba5
  height: 1px;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
  margin-left: 0;
Packit dd4ba5
  width: 20%;
Packit dd4ba5
  min-width: 100px;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.colist td {
Packit dd4ba5
  padding-right: 0.5em;
Packit dd4ba5
  padding-bottom: 0.3em;
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
div.colist td img {
Packit dd4ba5
  margin-top: 0.3em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
@media print {
Packit dd4ba5
  #footer-badges { display: none; }
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#toc {
Packit dd4ba5
  margin-bottom: 2.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#toctitle {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
  margin-bottom: 0;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel2 {
Packit dd4ba5
  margin-left: 2em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel3 {
Packit dd4ba5
  margin-left: 4em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel4 {
Packit dd4ba5
  margin-left: 6em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
span.aqua { color: aqua; }
Packit dd4ba5
span.black { color: black; }
Packit dd4ba5
span.blue { color: blue; }
Packit dd4ba5
span.fuchsia { color: fuchsia; }
Packit dd4ba5
span.gray { color: gray; }
Packit dd4ba5
span.green { color: green; }
Packit dd4ba5
span.lime { color: lime; }
Packit dd4ba5
span.maroon { color: maroon; }
Packit dd4ba5
span.navy { color: navy; }
Packit dd4ba5
span.olive { color: olive; }
Packit dd4ba5
span.purple { color: purple; }
Packit dd4ba5
span.red { color: red; }
Packit dd4ba5
span.silver { color: silver; }
Packit dd4ba5
span.teal { color: teal; }
Packit dd4ba5
span.white { color: white; }
Packit dd4ba5
span.yellow { color: yellow; }
Packit dd4ba5

Packit dd4ba5
span.aqua-background { background: aqua; }
Packit dd4ba5
span.black-background { background: black; }
Packit dd4ba5
span.blue-background { background: blue; }
Packit dd4ba5
span.fuchsia-background { background: fuchsia; }
Packit dd4ba5
span.gray-background { background: gray; }
Packit dd4ba5
span.green-background { background: green; }
Packit dd4ba5
span.lime-background { background: lime; }
Packit dd4ba5
span.maroon-background { background: maroon; }
Packit dd4ba5
span.navy-background { background: navy; }
Packit dd4ba5
span.olive-background { background: olive; }
Packit dd4ba5
span.purple-background { background: purple; }
Packit dd4ba5
span.red-background { background: red; }
Packit dd4ba5
span.silver-background { background: silver; }
Packit dd4ba5
span.teal-background { background: teal; }
Packit dd4ba5
span.white-background { background: white; }
Packit dd4ba5
span.yellow-background { background: yellow; }
Packit dd4ba5

Packit dd4ba5
span.big { font-size: 2em; }
Packit dd4ba5
span.small { font-size: 0.6em; }
Packit dd4ba5

Packit dd4ba5
span.underline { text-decoration: underline; }
Packit dd4ba5
span.overline { text-decoration: overline; }
Packit dd4ba5
span.line-through { text-decoration: line-through; }
Packit dd4ba5

Packit dd4ba5
div.unbreakable { page-break-inside: avoid; }
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * xhtml11 specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
div.tableblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table {
Packit dd4ba5
  border: 3px solid #527bbd;
Packit dd4ba5
}
Packit dd4ba5
thead, p.table.header {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5
p.table {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
/* Because the table frame attribute is overriden by CSS in most browsers. */
Packit dd4ba5
div.tableblock > table[frame="void"] {
Packit dd4ba5
  border-style: none;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table[frame="hsides"] {
Packit dd4ba5
  border-left-style: none;
Packit dd4ba5
  border-right-style: none;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table[frame="vsides"] {
Packit dd4ba5
  border-top-style: none;
Packit dd4ba5
  border-bottom-style: none;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * html5 specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
table.tableblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
thead, p.tableblock.header {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5
p.tableblock {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock {
Packit dd4ba5
  border-width: 3px;
Packit dd4ba5
  border-spacing: 0px;
Packit dd4ba5
  border-style: solid;
Packit dd4ba5
  border-color: #527bbd;
Packit dd4ba5
  border-collapse: collapse;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock, td.tableblock {
Packit dd4ba5
  border-width: 1px;
Packit dd4ba5
  padding: 4px;
Packit dd4ba5
  border-style: solid;
Packit dd4ba5
  border-color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
table.tableblock.frame-topbot {
Packit dd4ba5
  border-left-style: hidden;
Packit dd4ba5
  border-right-style: hidden;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock.frame-sides {
Packit dd4ba5
  border-top-style: hidden;
Packit dd4ba5
  border-bottom-style: hidden;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock.frame-none {
Packit dd4ba5
  border-style: hidden;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
th.tableblock.halign-left, td.tableblock.halign-left {
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.halign-center, td.tableblock.halign-center {
Packit dd4ba5
  text-align: center;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.halign-right, td.tableblock.halign-right {
Packit dd4ba5
  text-align: right;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
th.tableblock.valign-top, td.tableblock.valign-top {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.valign-middle, td.tableblock.valign-middle {
Packit dd4ba5
  vertical-align: middle;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
Packit dd4ba5
  vertical-align: bottom;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * manpage specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
body.manpage h1 {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
  border-top: 2px solid silver;
Packit dd4ba5
  border-bottom: 2px solid silver;
Packit dd4ba5
}
Packit dd4ba5
body.manpage h2 {
Packit dd4ba5
  border-style: none;
Packit dd4ba5
}
Packit dd4ba5
body.manpage div.sectionbody {
Packit dd4ba5
  margin-left: 3em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
@media print {
Packit dd4ba5
  body.manpage div#toc { display: none; }
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
</style>
Packit dd4ba5
<script type="text/javascript">
Packit dd4ba5
/*
Packit dd4ba5
var asciidoc = {  // Namespace.
Packit dd4ba5

Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5
// Table Of Contents generator
Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5

Packit dd4ba5
/* Author: Mihai Bazon, September 2002
Packit dd4ba5
 * http://students.infoiasi.ro/~mishoo
Packit dd4ba5
 *
Packit dd4ba5
 * Table Of Content generator
Packit dd4ba5
 * Version: 0.4
Packit dd4ba5
 *
Packit dd4ba5
 * Feel free to use this script under the terms of the GNU General Public
Packit dd4ba5
 * License, as long as you do not remove or alter this notice.
Packit dd4ba5
 */
Packit dd4ba5

Packit dd4ba5
 /* modified by Troy D. Hanson, September 2006. License: GPL */
Packit dd4ba5
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
Packit dd4ba5

Packit dd4ba5
// toclevels = 1..4.
Packit dd4ba5
toc: function (toclevels) {
Packit dd4ba5

Packit dd4ba5
  function getText(el) {
Packit dd4ba5
    var text = "";
Packit dd4ba5
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
Packit dd4ba5
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
Packit dd4ba5
        text += i.data;
Packit dd4ba5
      else if (i.firstChild != null)
Packit dd4ba5
        text += getText(i);
Packit dd4ba5
    }
Packit dd4ba5
    return text;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function TocEntry(el, text, toclevel) {
Packit dd4ba5
    this.element = el;
Packit dd4ba5
    this.text = text;
Packit dd4ba5
    this.toclevel = toclevel;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function tocEntries(el, toclevels) {
Packit dd4ba5
    var result = new Array;
Packit dd4ba5
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
Packit dd4ba5
    // Function that scans the DOM tree for header elements (the DOM2
Packit dd4ba5
    // nodeIterator API would be a better technique but not supported by all
Packit dd4ba5
    // browsers).
Packit dd4ba5
    var iterate = function (el) {
Packit dd4ba5
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
Packit dd4ba5
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
Packit dd4ba5
          var mo = re.exec(i.tagName);
Packit dd4ba5
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
Packit dd4ba5
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
Packit dd4ba5
          }
Packit dd4ba5
          iterate(i);
Packit dd4ba5
        }
Packit dd4ba5
      }
Packit dd4ba5
    }
Packit dd4ba5
    iterate(el);
Packit dd4ba5
    return result;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  var toc = document.getElementById("toc");
Packit dd4ba5
  if (!toc) {
Packit dd4ba5
    return;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Delete existing TOC entries in case we're reloading the TOC.
Packit dd4ba5
  var tocEntriesToRemove = [];
Packit dd4ba5
  var i;
Packit dd4ba5
  for (i = 0; i < toc.childNodes.length; i++) {
Packit dd4ba5
    var entry = toc.childNodes[i];
Packit dd4ba5
    if (entry.nodeName.toLowerCase() == 'div'
Packit dd4ba5
     && entry.getAttribute("class")
Packit dd4ba5
     && entry.getAttribute("class").match(/^toclevel/))
Packit dd4ba5
      tocEntriesToRemove.push(entry);
Packit dd4ba5
  }
Packit dd4ba5
  for (i = 0; i < tocEntriesToRemove.length; i++) {
Packit dd4ba5
    toc.removeChild(tocEntriesToRemove[i]);
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Rebuild TOC entries.
Packit dd4ba5
  var entries = tocEntries(document.getElementById("content"), toclevels);
Packit dd4ba5
  for (var i = 0; i < entries.length; ++i) {
Packit dd4ba5
    var entry = entries[i];
Packit dd4ba5
    if (entry.element.id == "")
Packit dd4ba5
      entry.element.id = "_toc_" + i;
Packit dd4ba5
    var a = document.createElement("a");
Packit dd4ba5
    a.href = "#" + entry.element.id;
Packit dd4ba5
    a.appendChild(document.createTextNode(entry.text));
Packit dd4ba5
    var div = document.createElement("div");
Packit dd4ba5
    div.appendChild(a);
Packit dd4ba5
    div.className = "toclevel" + entry.toclevel;
Packit dd4ba5
    toc.appendChild(div);
Packit dd4ba5
  }
Packit dd4ba5
  if (entries.length == 0)
Packit dd4ba5
    toc.parentNode.removeChild(toc);
Packit dd4ba5
},
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5
// Footnotes generator
Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5

Packit dd4ba5
/* Based on footnote generation code from:
Packit dd4ba5
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
Packit dd4ba5
 */
Packit dd4ba5

Packit dd4ba5
footnotes: function () {
Packit dd4ba5
  // Delete existing footnote entries in case we're reloading the footnodes.
Packit dd4ba5
  var i;
Packit dd4ba5
  var noteholder = document.getElementById("footnotes");
Packit dd4ba5
  if (!noteholder) {
Packit dd4ba5
    return;
Packit dd4ba5
  }
Packit dd4ba5
  var entriesToRemove = [];
Packit dd4ba5
  for (i = 0; i < noteholder.childNodes.length; i++) {
Packit dd4ba5
    var entry = noteholder.childNodes[i];
Packit dd4ba5
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
Packit dd4ba5
      entriesToRemove.push(entry);
Packit dd4ba5
  }
Packit dd4ba5
  for (i = 0; i < entriesToRemove.length; i++) {
Packit dd4ba5
    noteholder.removeChild(entriesToRemove[i]);
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Rebuild footnote entries.
Packit dd4ba5
  var cont = document.getElementById("content");
Packit dd4ba5
  var spans = cont.getElementsByTagName("span");
Packit dd4ba5
  var refs = {};
Packit dd4ba5
  var n = 0;
Packit dd4ba5
  for (i=0; i
Packit dd4ba5
    if (spans[i].className == "footnote") {
Packit dd4ba5
      n++;
Packit dd4ba5
      var note = spans[i].getAttribute("data-note");
Packit dd4ba5
      if (!note) {
Packit dd4ba5
        // Use [\s\S] in place of . so multi-line matches work.
Packit dd4ba5
        // Because JavaScript has no s (dotall) regex flag.
Packit dd4ba5
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
Packit dd4ba5
        spans[i].innerHTML =
Packit dd4ba5
          "[
Packit dd4ba5
          "' title='View footnote' class='footnote'>" + n + "]";
Packit dd4ba5
        spans[i].setAttribute("data-note", note);
Packit dd4ba5
      }
Packit dd4ba5
      noteholder.innerHTML +=
Packit dd4ba5
        "
" +
Packit dd4ba5
        "" +
Packit dd4ba5
        n + ". " + note + "";
Packit dd4ba5
      var id =spans[i].getAttribute("id");
Packit dd4ba5
      if (id != null) refs["#"+id] = n;
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5
  if (n == 0)
Packit dd4ba5
    noteholder.parentNode.removeChild(noteholder);
Packit dd4ba5
  else {
Packit dd4ba5
    // Process footnoterefs.
Packit dd4ba5
    for (i=0; i
Packit dd4ba5
      if (spans[i].className == "footnoteref") {
Packit dd4ba5
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
Packit dd4ba5
        href = href.match(/#.*/)[0];  // Because IE return full URL.
Packit dd4ba5
        n = refs[href];
Packit dd4ba5
        spans[i].innerHTML =
Packit dd4ba5
          "[
Packit dd4ba5
          "' title='View footnote' class='footnote'>" + n + "]";
Packit dd4ba5
      }
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5
},
Packit dd4ba5

Packit dd4ba5
install: function(toclevels) {
Packit dd4ba5
  var timerId;
Packit dd4ba5

Packit dd4ba5
  function reinstall() {
Packit dd4ba5
    asciidoc.footnotes();
Packit dd4ba5
    if (toclevels) {
Packit dd4ba5
      asciidoc.toc(toclevels);
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function reinstallAndRemoveTimer() {
Packit dd4ba5
    clearInterval(timerId);
Packit dd4ba5
    reinstall();
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  timerId = setInterval(reinstall, 500);
Packit dd4ba5
  if (document.addEventListener)
Packit dd4ba5
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
Packit dd4ba5
  else
Packit dd4ba5
    window.onload = reinstallAndRemoveTimer;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
}
Packit dd4ba5
asciidoc.install();
Packit dd4ba5
/*]]>*/
Packit dd4ba5
</script>
Packit dd4ba5
</head>
Packit dd4ba5
<body class="manpage">
Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
nvme-discover(1) Manual Page
Packit dd4ba5

Packit dd4ba5

NAME

Packit dd4ba5
Packit dd4ba5

nvme-discover -

Packit dd4ba5
   Send Get Log Page request to Discovery Controller.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5

SYNOPSIS

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
nvme discover
Packit dd4ba5
                [--transport=<trtype>     | -t <trtype>]
Packit dd4ba5
                [--traddr=<traddr>        | -a <traddr>]
Packit dd4ba5
                [--trsvcid=<trsvcid>      | -s <trsvcid>]
Packit dd4ba5
                [--host-traddr=<traddr>   | -w <traddr>]
Packit dd4ba5
                [--hostnqn=<hostnqn>      | -q <hostnqn>]
Packit dd4ba5
                [--hostid=<hostid>        | -I <hostid>]
Packit dd4ba5
                [--raw=<filename>         | -r <filename>]
Packit dd4ba5
                [--keep-alive-tmo=<sec>   | -k <sec>]
Packit dd4ba5
                [--reconnect-delay=<#>    | -c <#>]
Packit dd4ba5
                [--ctrl-loss-tmo=<#>      | -l <#>]
Packit dd4ba5
                [--hdr_digest             | -g]
Packit dd4ba5
                [--data_digest            | -G]
Packit dd4ba5
                [--nr-io-queues=<#>       | -i <#>]
Packit dd4ba5
                [--nr-write-queues=<#>    | -W <#>]
Packit dd4ba5
                [--nr-poll-queues=<#>     | -P <#>]
Packit dd4ba5
                [--queue-size=<#>         | -Q <#>]
Packit dd4ba5
                [--persistent             | -p]
Packit dd4ba5
                [--quiet                  | -S]
Packit dd4ba5
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

DESCRIPTION

Packit dd4ba5
Packit dd4ba5

Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery

Packit dd4ba5
Controller.

Packit dd4ba5

If no parameters are given, then nvme discover will attempt to

Packit dd4ba5
find a /etc/nvme/discovery.conf file to use to supply a list of
Packit dd4ba5
Discovery commands to run.  If no /etc/nvme/discovery.conf file
Packit dd4ba5
exists, the command will quit with an error.

Packit dd4ba5

Otherwise, a specific Discovery Controller should be specified using the

Packit dd4ba5
--transport, --traddr, and if necessary the --trsvcid flags. A Diѕcovery
Packit dd4ba5
request will then be sent to the specified Discovery Controller.

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

BACKGROUND

Packit dd4ba5
Packit dd4ba5

The NVMe-over-Fabrics specification defines the concept of a

Packit dd4ba5
Discovery Controller that an NVMe Host can query on a fabric
Packit dd4ba5
network to discover NVMe subsystems contained in NVMe Targets
Packit dd4ba5
which it can connect to on the network.  The Discovery Controller
Packit dd4ba5
will return Discovery Log Pages that provide the NVMe Host
Packit dd4ba5
with specific information (such as network address and unique
Packit dd4ba5
subsystem NQN) the NVMe Host can use to issue an
Packit dd4ba5
NVMe connect command to connect itself to a storage resource
Packit dd4ba5
contained in that NVMe subsystem on the NVMe Target.

Packit dd4ba5

Note that the base NVMe specification defines the NQN (NVMe Qualified

Packit dd4ba5
Name) format which an NVMe endpoint (device, subsystem, etc) must
Packit dd4ba5
follow to guarantee a unique name under the NVMe standard.
Packit dd4ba5
In particular, the Host NQN uniquely identifies the NVMe Host, and
Packit dd4ba5
may be used by the the Discovery Controller to control what NVMe Target
Packit dd4ba5
resources are allocated to the NVMe Host for a connection.

Packit dd4ba5

A Discovery Controller has it’s own NQN defined in the NVMe-over-Fabrics

Packit dd4ba5
specification, nqn.2014-08.org.nvmexpress.discovery.  All Discovery
Packit dd4ba5
Controllers must use this NQN name. This NQN is used by default by
Packit dd4ba5
nvme-cli for the discover command.

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

OPTIONS

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
-t <trtype>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--transport=<trtype>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        This field specifies the network fabric being used for
Packit dd4ba5
        a NVMe-over-Fabrics network.  Current string values include:
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
width="100%"
Packit dd4ba5
frame="border"
Packit dd4ba5
cellspacing="0" cellpadding="4">
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Value

Packit dd4ba5

Definition

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

rdma

Packit dd4ba5

The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

fc

Packit dd4ba5

WIP The network fabric is a Fibre Channel network.

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

loop

Packit dd4ba5

Connect to a NVMe over Fabrics target on the local host

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-a <traddr>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--traddr=<traddr>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        This field specifies the network address of the Discovery Controller.
Packit dd4ba5
        For transports using IP addressing (e.g. rdma) this should be an
Packit dd4ba5
        IP-based (ex. IPv4) address.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-s <trsvcid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--trsvcid=<trsvcid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        This field specifies the transport service id.  For transports using IP
Packit dd4ba5
        addressing (e.g. rdma) this field is the port number. By default, the IP
Packit dd4ba5
        port number for the RDMA transport is 4420.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-w <traddr>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--host-traddr=<traddr>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        This field specifies the network address used on the host to connect
Packit dd4ba5
        to the Discovery Controller.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-q <hostnqn>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--hostnqn=<hostnqn>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default host NQN that identifies the NVMe Host.
Packit dd4ba5
        If this option is not specified, the default is read from
Packit dd4ba5
        /etc/nvme/hostnqn first. If that does not exist, the autogenerated
Packit dd4ba5
        NQN value from the NVMe Host kernel module is used next.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-I <hostid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--hostid=<hostid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        UUID(Universally Unique Identifier) to be discovered which should be
Packit dd4ba5
        formatted.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-r <filename>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--raw=<filename>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        This field will take the output of the nvme discover command
Packit dd4ba5
        and dump it to a raw binary file. By default nvme discover will
Packit dd4ba5
        dump the output to stdout.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-k <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--keep-alive-tmo=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default dealy (in seconds) for keep alive.
Packit dd4ba5
        This option will be ignored for the discovery, and it is only
Packit dd4ba5
        implemented for completeness.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-c <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--reconnect-delay=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default delay (in seconds) before reconnect is attempted
Packit dd4ba5
        after a connect loss.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-l <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--ctrl-loss-tmo=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default controller loss timeout period (in seconds).
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-g
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--hdr_digest
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Generates/verifies header digest (TCP).
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-G
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--data_digest
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Generates/verifies data digest (TCP).
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-i <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--nr-io-queues=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default number of I/O queues create by the driver.
Packit dd4ba5
        This option will be ignored for the discovery, and it is only
Packit dd4ba5
        implemented for completeness.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-W <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--nr-write-queues=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Adds additional queues that will be used for write I/O.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-P <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--nr-poll-queues=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Adds additional queues that will be used for polling latency sensitive I/O.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-Q <#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--queue-size=<#>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Overrides the default number of elements in the I/O queues created
Packit dd4ba5
        by the driver which can be found at drivers/nvme/host/fabrics.h.
Packit dd4ba5
        This option will be ignored for the discovery, and it is only
Packit dd4ba5
        implemented for completeness.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-p
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--persistent
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Persistent discovery connection.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-S
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--quiet
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Suppress already connected errors.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

EXAMPLES

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
  • Packit dd4ba5

    Packit dd4ba5
    Query the Discover Controller with IP4 address 192.168.1.3 for all
    
    Packit dd4ba5
    resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network.
    
    Packit dd4ba5
    Port 4420 is used by default:
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    # nvme discover --transport=rdma --traddr=192.168.1.3 \
    
    Packit dd4ba5
    --hostnqn=host1-rogue-nqn
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
  • Packit dd4ba5

    Packit dd4ba5
    Issue a nvme discover command using a /etc/nvme/discovery.conf file:
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    # Machine default 'nvme discover' commands.  Query the
    
    Packit dd4ba5
    # Discovery Controller's two ports (some resources may only
    
    Packit dd4ba5
    # be accessible on a single port).  Note an official
    
    Packit dd4ba5
    # nqn (Host) name defined in the NVMe specification is being used
    
    Packit dd4ba5
    # in this example.
    
    Packit dd4ba5
    -t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    
    Packit dd4ba5
    -t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    At the prompt type "nvme discover".
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    Packit dd4ba5

    SEE ALSO

    Packit dd4ba5
    Packit dd4ba5

    nvme-connect(1)

    Packit dd4ba5
    nvme-connect-all(1)

    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    Packit dd4ba5

    AUTHORS

    Packit dd4ba5
    Packit dd4ba5

    This was written by Jay Freyensee

    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    Packit dd4ba5

    NVME

    Packit dd4ba5
    Packit dd4ba5

    Part of the nvme-user suite

    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    Last updated
    
    Packit dd4ba5
     2019-11-08 08:22:36 JST
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    </body>
    
    Packit dd4ba5
    </html>