Merging upstream version 1.5.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
8f9ab756e2
commit
70a0abe13f
874 changed files with 9553 additions and 1347 deletions
5
.github/cross/clang.txt
vendored
5
.github/cross/clang.txt
vendored
|
@ -1,5 +0,0 @@
|
|||
[binaries]
|
||||
c = 'clang'
|
||||
cpp = 'clang++'
|
||||
strip = 'strip'
|
||||
pkgconfig = 'pkg-config'
|
6
.github/cross/ubuntu-static.txt
vendored
6
.github/cross/ubuntu-static.txt
vendored
|
@ -1,6 +0,0 @@
|
|||
[properties]
|
||||
c_args = '-static'
|
||||
cpp_args = c_args
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/gcc'
|
398
.github/workflows/build.yml
vendored
398
.github/workflows/build.yml
vendored
|
@ -10,380 +10,120 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
gcc-debug:
|
||||
name: gcc debug
|
||||
default:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: [gcc, clang]
|
||||
buildtype: [debug, release]
|
||||
container:
|
||||
image: ghcr.io/igaw/linux-nvme/debian:0.30
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install gcc pkg-config libjson-c-dev libssl-dev python3-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=debug
|
||||
--wrap-mode=nofallback
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- name: build
|
||||
run: |
|
||||
scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }}
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: logs files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
.build-ci/meson-logs/*.txt
|
||||
|
||||
gcc-release:
|
||||
name: gcc release
|
||||
cross:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- arch: armhf
|
||||
port: armhf
|
||||
compiler: gcc-arm-linux-gnueabihf
|
||||
packages:
|
||||
- arch: s390x
|
||||
port: s390x
|
||||
compiler: gcc-s390x-linux-gnu
|
||||
packages: libgcc-s1:s390x
|
||||
- arch: ppc64le
|
||||
port: ppc64el
|
||||
compiler: gcc-powerpc64le-linux-gnu
|
||||
packges:
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install gcc pkg-config libjson-c-dev libdbus-1-dev python3-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=nofallback
|
||||
-Dlibdbus=enabled
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- name: set up arm architecture
|
||||
run: |
|
||||
export release=$(lsb_release -c -s)
|
||||
sudo dpkg --add-architecture ${{ matrix.port }}
|
||||
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
||||
sudo dd of=/etc/apt/sources.list.d/${{ matrix.arch }}.list <<EOF
|
||||
deb [arch=${{ matrix.port }}] http://ports.ubuntu.com/ $release main universe restricted"
|
||||
deb [arch=${{ matrix.port }}] http://ports.ubuntu.com/ $release-updates main universe restricted"
|
||||
EOF
|
||||
sudo apt update
|
||||
sudo apt install -y meson pkg-config qemu-user-static ${{ matrix.compiler}} libjson-c-dev:${{ matrix.port }} ${{ matrix.packages }}
|
||||
- name: build
|
||||
run: |
|
||||
scripts/build.sh -b release -c gcc -t ${{ matrix.arch }} cross
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
.build-ci/meson-logs/*.txt
|
||||
|
||||
clang-release:
|
||||
name: clang release
|
||||
libdbus:
|
||||
name: libdbus
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/igaw/linux-nvme/debian:0.30
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install clang pkg-config libjson-c-dev libdbus-1-dev python3-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=nofallback
|
||||
--cross-file=.github/cross/clang.txt
|
||||
-Dlibdbus=enabled
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- name: build
|
||||
run: |
|
||||
scripts/build.sh -b release -c gcc libdbus
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
.build-ci/meson-logs/*.txt
|
||||
|
||||
fallback-shared-libraries:
|
||||
name: fallback shared libraries
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/igaw/linux-nvme/debian:0.30
|
||||
if: github.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install libpam-dev libcap-ng-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=forcefallback
|
||||
-Dlibdbus=enabled
|
||||
-Ddbus:werror=false
|
||||
-Dopenssl:werror=false
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
fallback-static-libraries:
|
||||
name: fallback static libraries
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install libpam-dev libcap-ng-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=forcefallback
|
||||
--default-library=static
|
||||
-Dlibdbus=enabled
|
||||
-Ddbus:werror=false
|
||||
-Dopenssl:werror=false
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
fallback-all-static:
|
||||
name: fallback all static
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install libpam-dev libcap-ng-dev
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=forcefallback
|
||||
--default-library=static
|
||||
--cross-file=.github/cross/ubuntu-static.txt
|
||||
-Dlibdbus=enabled
|
||||
-Ddbus:werror=false
|
||||
-Dopenssl:werror=false
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
cross-armhf:
|
||||
name: cross armhf
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: set up arm architecture
|
||||
run: |
|
||||
export release=$(lsb_release -c -s)
|
||||
sudo dpkg --add-architecture armhf
|
||||
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
||||
sudo dd of=/etc/apt/sources.list.d/armhf.list <<EOF
|
||||
deb [arch=armhf] http://ports.ubuntu.com/ $release main universe restricted"
|
||||
deb [arch=armhf] http://ports.ubuntu.com/ $release-updates main universe restricted"
|
||||
EOF
|
||||
sudo apt update
|
||||
- name: install armhf compiler
|
||||
run: sudo apt install gcc-arm-linux-gnueabihf pkg-config qemu-user-static
|
||||
- name: install libraries
|
||||
run: sudo apt install libjson-c-dev:armhf
|
||||
- uses: actions/checkout@v3
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=nofallback
|
||||
--cross-file=.github/cross/ubuntu-armhf.txt
|
||||
-Dpython=disabled
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
cross-ppc64le:
|
||||
name: cross ppc64le
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: set up ppc64le architecture
|
||||
run: |
|
||||
export release=$(lsb_release -c -s)
|
||||
sudo dpkg --add-architecture ppc64el
|
||||
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
||||
sudo dd of=/etc/apt/sources.list.d/ppc64el.list <<EOF
|
||||
deb [arch=ppc64el] http://ports.ubuntu.com/ $release main universe restricted"
|
||||
deb [arch=ppc64el] http://ports.ubuntu.com/ $release-updates main universe restricted"
|
||||
EOF
|
||||
sudo apt update
|
||||
- name: install powerpc64le compiler
|
||||
run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config qemu-user-static
|
||||
- name: install libraries
|
||||
run: sudo apt install libjson-c-dev:ppc64el
|
||||
- uses: actions/checkout@v3
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=nofallback
|
||||
--cross-file=.github/cross/ubuntu-ppc64le.txt
|
||||
-Dpython=disabled
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
cross-s390x:
|
||||
name: cross s390x
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: set up s390x architecture
|
||||
run: |
|
||||
export release=$(lsb_release -c -s)
|
||||
sudo dpkg --add-architecture s390x
|
||||
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
||||
sudo dd of=/etc/apt/sources.list.d/s390x.list <<EOF
|
||||
deb [arch=s390x] http://ports.ubuntu.com/ $release main universe restricted"
|
||||
deb [arch=s390x] http://ports.ubuntu.com/ $release-updates main universe restricted"
|
||||
EOF
|
||||
sudo apt update
|
||||
- name: install s390x compiler
|
||||
run: sudo apt install gcc-s390x-linux-gnu pkg-config qemu-user-static
|
||||
- name: install libraries
|
||||
run: sudo apt install libjson-c-dev:s390x
|
||||
- uses: actions/checkout@v3
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: build
|
||||
with:
|
||||
action: build
|
||||
setup-options: >
|
||||
--werror
|
||||
--buildtype=release
|
||||
--wrap-mode=nofallback
|
||||
--cross-file=.github/cross/ubuntu-s390x.txt
|
||||
-Dpython=disabled
|
||||
meson-version: 0.61.2
|
||||
- uses: BSFishy/meson-build@v1.0.3
|
||||
name: test
|
||||
with:
|
||||
action: test
|
||||
meson-version: 0.61.2
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: upload logs
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
build/meson-logs/*.txt
|
||||
|
||||
build-muon:
|
||||
name: muon minimal
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: build muon and samurai build-tool
|
||||
run: |
|
||||
mkdir build-tools
|
||||
cd build-tools
|
||||
git clone --depth 1 https://git.sr.ht/~lattis/muon
|
||||
cd muon
|
||||
|
||||
export CC=gcc
|
||||
export ninja=build/samu
|
||||
|
||||
./tools/bootstrap_ninja.sh build
|
||||
./bootstrap.sh build
|
||||
|
||||
build/muon setup \
|
||||
-Dlibcurl=disabled \
|
||||
-Dlibarchive=disabled \
|
||||
-Ddocs=disabled \
|
||||
-Dsamurai=disabled \
|
||||
build
|
||||
build/samu -C build
|
||||
build/muon -C build test
|
||||
- name: build
|
||||
run: |
|
||||
export PATH=$(pwd)/build-tools/muon/build:$PATH
|
||||
scripts/build.sh -b release -c gcc fallback
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: failure()
|
||||
with:
|
||||
name: log files
|
||||
path: |
|
||||
.build-ci/meson-logs/*.txt
|
||||
|
||||
muon setup \
|
||||
-Dpython=disabled \
|
||||
-Dopenssl=disabled \
|
||||
-Dlibdbus=disabled \
|
||||
-Djson-c=disabled \
|
||||
build
|
||||
samu -C build
|
||||
- name: test
|
||||
build-muon:
|
||||
name: muon minimal static
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/igaw/linux-nvme/debian:0.30
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: build
|
||||
run: |
|
||||
export PATH=$(pwd)/build-tools/muon/build:$PATH
|
||||
|
||||
muon -C build test
|
||||
scripts/build.sh -m muon
|
||||
|
|
3
.github/workflows/release-python.yml
vendored
3
.github/workflows/release-python.yml
vendored
|
@ -16,6 +16,9 @@ jobs:
|
|||
name: Build source distribution
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: install libraries
|
||||
run: sudo apt-get install gcc pkg-config libjson-c-dev libssl-dev python3-dev
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build sdist
|
||||
|
|
130
README.md
130
README.md
|
@ -15,7 +15,7 @@ and payloads, and utilities to connect, scan, and manage nvme devices
|
|||
on a Linux system.
|
||||
|
||||
The public specification is the authority to resolve any protocol
|
||||
discrepencies with this library. For more info on NVM Express, please
|
||||
discrepancies with this library. For more info on NVM Express, please
|
||||
see:
|
||||
|
||||
https://nvmexpress.org
|
||||
|
@ -36,52 +36,53 @@ Keith Busch 2020-02-06
|
|||
|
||||
------
|
||||
|
||||
# Building with meson
|
||||
|
||||
## What is the meson build system?
|
||||
|
||||
Here's an excerpt from the meson web site: *Meson is **an open source
|
||||
build system** meant to be both extremely fast, and, even more
|
||||
importantly, as user friendly as possible. The main design point of
|
||||
Meson is that every moment a developer spends writing or debugging
|
||||
build definitions is a second wasted.*
|
||||
|
||||
Several well-known projects such as `systemd` and `Gnome` use meson as
|
||||
their build system. A summary of projects using meson can be found
|
||||
[here](https://mesonbuild.com/Users.html). For more info on meson,
|
||||
please consult the following sites:
|
||||
|
||||
**Wiki page**: https://en.wikipedia.org/wiki/Meson_(software)
|
||||
|
||||
**meson documentation**: https://mesonbuild.com/
|
||||
|
||||
**meson repo**: https://github.com/mesonbuild/meson
|
||||
|
||||
## Dependency
|
||||
# Dependency
|
||||
|
||||
libnvme depends on minimum Linux kernel version v4.15, which
|
||||
introduced the /sys/class/nvme-subsystem.
|
||||
|
||||
# Build from source
|
||||
## Prerequisite
|
||||
|
||||
First, install meson.
|
||||
A minimal build depends on a set of build tools
|
||||
|
||||
**Debian / Ubuntu**:
|
||||
- gcc
|
||||
- ninja
|
||||
- meson
|
||||
|
||||
```bash
|
||||
sudo apt-get install meson
|
||||
```
|
||||
Not all feature will be present with such configuration, e.g.
|
||||
the fabrics part of the library wont support authentication or
|
||||
TLS over the nvme-tcp transport.
|
||||
|
||||
**Fedora / Red Hat**:
|
||||
To enable the optional features install following libraries
|
||||
|
||||
```bash
|
||||
sudo dnf install meson
|
||||
```
|
||||
`/etc/nvme/config.json`` support:
|
||||
- json-c (recommend)
|
||||
|
||||
Authentication and TLS over nvme-tcp:
|
||||
- openssl
|
||||
- keyutils
|
||||
|
||||
End point discovery for MI
|
||||
- libdbus
|
||||
|
||||
Python bindings
|
||||
- Python 3 interpreter
|
||||
- Python 3 development libraries
|
||||
|
||||
## Minimal on embedded builds
|
||||
|
||||
The reference implemention of the Meson specification is in Python 3. Installing
|
||||
or porting this dependency is not really feasible for embedded project. Though
|
||||
there are two project which implement the Ninja and the Meson API in pure C99
|
||||
|
||||
- samurai: https://github.com/michaelforney/samurai.git
|
||||
- muon: https://git.sr.ht/~lattis/muon
|
||||
|
||||
See the CI [build](.github/workflows/build.yml) for an example how to use it.
|
||||
|
||||
## To compile libnvme
|
||||
|
||||
Using meson is similar to projects that use a `configure` script before running `make`.
|
||||
|
||||
To `configure` the project:
|
||||
|
||||
```
|
||||
|
@ -91,7 +92,7 @@ meson setup .build
|
|||
Which will default to build a shared library. To configure for static libraries call
|
||||
|
||||
```
|
||||
meson setup .build --default-library=static
|
||||
meson setup --default-library=static .build
|
||||
```
|
||||
|
||||
One nice feature of meson is that it doesn't mix build artifacts
|
||||
|
@ -105,14 +106,7 @@ completely "clean" all the build artifacts, one need only delete the
|
|||
To compile:
|
||||
|
||||
```
|
||||
cd .build
|
||||
ninja
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```
|
||||
ninja -C .build
|
||||
meson -C .build
|
||||
```
|
||||
|
||||
## To install libnvme
|
||||
|
@ -120,8 +114,7 @@ ninja -C .build
|
|||
To install `libnvme`:
|
||||
|
||||
```
|
||||
cd .build
|
||||
meson install
|
||||
meson install -C .build
|
||||
```
|
||||
|
||||
## To run unit tests
|
||||
|
@ -129,23 +122,7 @@ meson install
|
|||
To run unit tests:
|
||||
|
||||
```
|
||||
cd .build
|
||||
meson test
|
||||
```
|
||||
|
||||
## To clean after a build
|
||||
|
||||
To perform the equivalent of a `make clean` without deleting the build configuration.
|
||||
|
||||
```
|
||||
cd .build
|
||||
ninja -t clean
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```
|
||||
ninja -C .build -t clean
|
||||
meson test -C .build
|
||||
```
|
||||
|
||||
## To purge everything
|
||||
|
@ -160,10 +137,24 @@ rm -rf .build
|
|||
|
||||
A few build options can be specified on the command line when invoking meson.
|
||||
|
||||
| Option | Values [default] | Description |
|
||||
| ------ | ------------------------- | ------------------------------------------------------------ |
|
||||
| man | true, [false] | Instruct meson to configure the project to build the `libnvme` documentation. <br />Example: `meson .build -Dman=true` |
|
||||
| Option | Values [default] | Description |
|
||||
| ----------- | ------------------------- | ------------------------------------------------------------ |
|
||||
| version-tag | none | Overwrite the git version string in the binary |
|
||||
| htmldir | none | Installation directory for the HTML documentation |
|
||||
| rstdir | none | Installation directory for the RST documentation |
|
||||
| docs | [false], html, man, rst, all | Install documentation |
|
||||
| docs-build | [false], true | Enable build documentation |
|
||||
| python | [auto], enabled, disabled | Whether to build the Python bindings. When set to `auto`, the default, meson will check for the presence of the tools and libraries (e.g. `swig`) required to build the Python bindings. If found, meson will configure the project to build the Python bindings. If a tool or library is missing, then the Python bindings won't be built. Setting this to `enabled`, forces the Python bindings to be built. When set to `disabled`, meson will configure the project to not build the Python bindings.<br />Example: `meson setup .build -Dpython=disabled` |
|
||||
| openssl | [auto], enabled, disabled | Enables OpenSSL dependend features (e.g. authentication), adds build dependency on OpenSSL |
|
||||
| libdbus | auto, enabled, [disabled] | Enables D-Bus dependend features (libnvme-mi: End point discovery), adds build dependency on libdbus |
|
||||
| json-c | [auto], enabled, disabled | (recommended) Enables JSON-C dependend features (e.g. config.json parsing), adds build depdency on json-c |
|
||||
| keyutils | [auto], enabled, disabled | Enables keyutils dependend features (e.g. TLS over TCP), adds build dependency on keyutils |
|
||||
|
||||
See the full configuration options with
|
||||
|
||||
```bash
|
||||
meson configure .build
|
||||
```
|
||||
|
||||
### Changing the build options from the command-line (i.e. w/o modifying any files)
|
||||
|
||||
|
@ -183,12 +174,5 @@ meson setup .build -Db_sanitize=address
|
|||
This option adds `-fsanitize=address` to the gcc options. Note that when using the sanitize feature, the library `libasan.so` must be available and must be the very first library loaded when running an executable. Ensuring that `libasan.so` gets loaded first can be achieved with the `LD_PRELOAD` environment variable as follows:
|
||||
|
||||
```
|
||||
meson setup .build -Db_sanitize=address && LD_PRELOAD=/lib64/libasan.so.6 ninja -C .build test
|
||||
meson setup .build -Db_sanitize=address && LD_PRELOAD=/lib64/libasan.so.6 ninja -C .build test
|
||||
```
|
||||
|
||||
To list configuration options that are available and possible values:
|
||||
|
||||
```bash
|
||||
meson configure .build
|
||||
```
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ copyright = '2020, Keith Busch'
|
|||
author = 'Keith Busch <kbusch@kernel.org>'
|
||||
master_doc = 'index'
|
||||
|
||||
release = '1.4'
|
||||
release = '1.5'
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
|
|
@ -59,6 +59,10 @@
|
|||
"type": "array",
|
||||
"items": { "$ref": "#/$defs/port" }
|
||||
},
|
||||
"application": {
|
||||
"description": "Program managing this subsystem",
|
||||
"type": "string"
|
||||
},
|
||||
"required": [ "nqn" ]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -59,6 +59,10 @@
|
|||
"type": "array",
|
||||
"items": { "$ref": "#/$defs/port" }
|
||||
},
|
||||
"application": {
|
||||
"description": "Program managing this subsystem",
|
||||
"type": "string"
|
||||
},
|
||||
"required": [ "nqn" ]
|
||||
}
|
||||
},
|
||||
|
|
169
doc/man/nbft_control.2
Normal file
169
doc/man/nbft_control.2
Normal file
|
@ -0,0 +1,169 @@
|
|||
.TH "libnvme" 9 "struct nbft_control" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_control \- NBFT Table - Control Descriptor (Figure 8)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_control {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 major_revision;"
|
||||
.br
|
||||
.BI " __u8 minor_revision;"
|
||||
.br
|
||||
.BI " __u8 reserved1;"
|
||||
.br
|
||||
.BI " __le16 csl;"
|
||||
.br
|
||||
.BI " __u8 flags;"
|
||||
.br
|
||||
.BI " __u8 reserved2;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj hdesc;"
|
||||
.br
|
||||
.BI " __u8 hsv;"
|
||||
.br
|
||||
.BI " __u8 reserved3;"
|
||||
.br
|
||||
.BI " __le32 hfio;"
|
||||
.br
|
||||
.BI " __le16 hfil;"
|
||||
.br
|
||||
.BI " __u8 hfiv;"
|
||||
.br
|
||||
.BI " __u8 num_hfi;"
|
||||
.br
|
||||
.BI " __le32 ssnso;"
|
||||
.br
|
||||
.BI " __le16 ssnsl;"
|
||||
.br
|
||||
.BI " __u8 ssnsv;"
|
||||
.br
|
||||
.BI " __u8 num_ssns;"
|
||||
.br
|
||||
.BI " __le32 seco;"
|
||||
.br
|
||||
.BI " __le16 secl;"
|
||||
.br
|
||||
.BI " __u8 secv;"
|
||||
.br
|
||||
.BI " __u8 num_sec;"
|
||||
.br
|
||||
.BI " __le32 disco;"
|
||||
.br
|
||||
.BI " __le16 discl;"
|
||||
.br
|
||||
.BI " __u8 discv;"
|
||||
.br
|
||||
.BI " __u8 num_disc;"
|
||||
.br
|
||||
.BI " __u8 reserved4[16];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field specifies the element (refer to
|
||||
\fIenum nbft_desc_type\fP). This field shall be set to 1h (i.e.,
|
||||
Control, #NBFT_DESC_CONTROL).
|
||||
.IP "major_revision" 12
|
||||
Major Revision: The major revision of the structure corresponding
|
||||
to the Signature field. Larger major revision numbers should
|
||||
not be assumed backward compatible to lower major revision
|
||||
numbers with the same signature.
|
||||
.IP "minor_revision" 12
|
||||
Minor Revision: The minor revision of the structure corresponding
|
||||
to the signature field. If the major revision numbers are
|
||||
the same, any minor revision number differences shall be backwards
|
||||
compatible with the same signature.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "csl" 12
|
||||
Control Structure Length (CSL): This field indicates the length
|
||||
in bytes of the Control Descriptor.
|
||||
.IP "flags" 12
|
||||
Flags, see \fIenum nbft_control_flags\fP.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
||||
.IP "hdesc" 12
|
||||
Host Descriptor (HDESC): This field indicates the location
|
||||
and length of the Host Descriptor (see \fIstruct nbft_host\fP).
|
||||
.IP "hsv" 12
|
||||
Host Descriptor Version (HSV): This field indicates the version
|
||||
of the Host Descriptor.
|
||||
.IP "reserved3" 12
|
||||
Reserved.
|
||||
.IP "hfio" 12
|
||||
HFI Descriptor List Offset (HFIO): If this field is set to
|
||||
a non-zero value, then this field indicates the offset in bytes
|
||||
of the HFI Descriptor List, if any, from byte offset 0h of the
|
||||
NBFT Table Header. If the \fInum_hfi\fP field is cleared to 0h,
|
||||
then this field is reserved.
|
||||
.IP "hfil" 12
|
||||
HFI Descriptor Length (HFIL): This field indicates the length
|
||||
in bytes of each HFI Descriptor, if any. If the \fInum_hfi\fP field
|
||||
is cleared to 0h, then this field is reserved.
|
||||
.IP "hfiv" 12
|
||||
HFI Descriptor Version (HFIV): This field indicates the version
|
||||
of each HFI Descriptor.
|
||||
.IP "num_hfi" 12
|
||||
Number of Host Fabric Interface Descriptors (NumHFI): This field
|
||||
indicates the number of HFI Descriptors (see \fIstruct nbft_hfi\fP)
|
||||
in the HFI Descriptor List, if any. If no interfaces have been
|
||||
configured, then this field shall be cleared to 0h.
|
||||
.IP "ssnso" 12
|
||||
SSNS Descriptor List Offset (SSNSO):: This field indicates
|
||||
the offset in bytes of the SSNS Descriptor List, if any, from
|
||||
byte offset 0h of the NBFT Table Header. If the \fInum_ssns\fP field
|
||||
is cleared to 0h, then this field is reserved.
|
||||
.IP "ssnsl" 12
|
||||
SSNS Descriptor Length (SSNSL): This field indicates the length
|
||||
in bytes of each SSNS Descriptor, if any. If the \fInum_ssns\fP
|
||||
field is cleared to 0h, then this field is reserved.
|
||||
.IP "ssnsv" 12
|
||||
SSNS Descriptor Version (SSNSV): This field indicates the version
|
||||
of the SSNS Descriptor.
|
||||
.IP "num_ssns" 12
|
||||
Number of Subsystem and Namespace Descriptors (NumSSNS): This
|
||||
field indicates the number of Subsystem Namespace (SSNS)
|
||||
Descriptors (see \fIstruct nbft_ssns\fP) in the SSNS Descriptor List,
|
||||
if any.
|
||||
.IP "seco" 12
|
||||
Security Profile Descriptor List Offset (SECO): This field
|
||||
indicates the offset in bytes of the Security Profile Descriptor
|
||||
List, if any, from byte offset 0h of the NBFT Table Header.
|
||||
If the \fInum_sec\fP field is cleared to 0h, then this field
|
||||
is reserved.
|
||||
.IP "secl" 12
|
||||
Security Profile Descriptor Length (SECL): This field indicates
|
||||
the length in bytes of each Security Profile Descriptor, if any.
|
||||
If the \fInum_sec\fP field is cleared to 0h, then this field
|
||||
is reserved.
|
||||
.IP "secv" 12
|
||||
Security Profile Descriptor Version (SECV): This field indicates
|
||||
the version of the Security Profile Descriptor.
|
||||
.IP "num_sec" 12
|
||||
Number of Security Profile Descriptors (NumSec): This field
|
||||
indicates the number of Security Profile Descriptors
|
||||
(see \fIstruct nbft_security\fP), if any, in the Security Profile
|
||||
Descriptor List.
|
||||
.IP "disco" 12
|
||||
Discovery Descriptor Offset (DISCO): This field indicates
|
||||
the offset in bytes of the Discovery Descriptor List, if any,
|
||||
from byte offset 0h of the NBFT Table Header. If the \fInum_disc\fP
|
||||
field is cleared to 0h, then this field is reserved.
|
||||
.IP "discl" 12
|
||||
Discovery Descriptor Length (DISCL): This field indicates
|
||||
the length in bytes of each Discovery Descriptor, if any.
|
||||
If the \fInum_disc\fP field is cleared to 0h, then this field
|
||||
is reserved.
|
||||
.IP "discv" 12
|
||||
Discovery Descriptor Version (DISCV): This field indicates
|
||||
the version of the Discovery Descriptor.
|
||||
.IP "num_disc" 12
|
||||
Number of Discovery Descriptors (NumDisc): This field indicates
|
||||
the number of Discovery Descriptors (see \fIstruct nbft_discovery\fP),
|
||||
if any, in the Discovery Descriptor List, if any.
|
||||
.IP "reserved4" 12
|
||||
Reserved.
|
12
doc/man/nbft_control_flags.2
Normal file
12
doc/man/nbft_control_flags.2
Normal file
|
@ -0,0 +1,12 @@
|
|||
.TH "libnvme" 9 "enum nbft_control_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_control_flags \- Control Descriptor Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_control_flags {
|
||||
.br
|
||||
.BI " NBFT_CONTROL_VALID"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_CONTROL_VALID" 12
|
||||
Block Valid: indicates that the structure is valid.
|
74
doc/man/nbft_desc_type.2
Normal file
74
doc/man/nbft_desc_type.2
Normal file
|
@ -0,0 +1,74 @@
|
|||
.TH "libnvme" 9 "enum nbft_desc_type" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_desc_type \- NBFT Elements - Descriptor Types (Figure 5)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_desc_type {
|
||||
.br
|
||||
.BI " NBFT_DESC_HEADER"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_CONTROL"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_HOST"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_HFI"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_SSNS"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_SECURITY"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_DISCOVERY"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_HFI_TRINFO"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_RESERVED_8"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_DESC_SSNS_EXT_INFO"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_DESC_HEADER" 12
|
||||
Header: an ACPI structure header with some additional
|
||||
NBFT specific info.
|
||||
.IP "NBFT_DESC_CONTROL" 12
|
||||
Control Descriptor: indicates the location of host,
|
||||
HFI, SSNS, security, and discovery descriptors.
|
||||
.IP "NBFT_DESC_HOST" 12
|
||||
Host Descriptor: host information.
|
||||
.IP "NBFT_DESC_HFI" 12
|
||||
HFI Descriptor: an indexable table of HFI Descriptors,
|
||||
one for each fabric interface on the host.
|
||||
.IP "NBFT_DESC_SSNS" 12
|
||||
Subsystem Namespace Descriptor: an indexable table
|
||||
of SSNS Descriptors.
|
||||
.IP "NBFT_DESC_SECURITY" 12
|
||||
Security Descriptor: an indexable table of Security
|
||||
descriptors.
|
||||
.IP "NBFT_DESC_DISCOVERY" 12
|
||||
Discovery Descriptor: an indexable table of Discovery
|
||||
Descriptors.
|
||||
.IP "NBFT_DESC_HFI_TRINFO" 12
|
||||
HFI Transport Descriptor: indicated by an HFI Descriptor,
|
||||
corresponds to a specific transport for a single HFI.
|
||||
.IP "NBFT_DESC_RESERVED_8" 12
|
||||
Reserved.
|
||||
.IP "NBFT_DESC_SSNS_EXT_INFO" 12
|
||||
SSNS Extended Info Descriptor: indicated by an SSNS
|
||||
Descriptor if required.
|
71
doc/man/nbft_discovery.2
Normal file
71
doc/man/nbft_discovery.2
Normal file
|
@ -0,0 +1,71 @@
|
|||
.TH "libnvme" 9 "struct nbft_discovery" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_discovery \- Discovery Descriptor (Figure 24)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_discovery {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 flags;"
|
||||
.br
|
||||
.BI " __u8 index;"
|
||||
.br
|
||||
.BI " __u8 hfi_index;"
|
||||
.br
|
||||
.BI " __u8 sec_index;"
|
||||
.br
|
||||
.BI " __u8 reserved1;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj discovery_ctrl_addr_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj discovery_ctrl_nqn_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved2[14];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 6h
|
||||
(i.e., Discovery Descriptor; #NBFT_DESC_DISCOVERY).
|
||||
.IP "flags" 12
|
||||
Discovery Descriptor Flags, see \fIenum nbft_discovery_flags\fP.
|
||||
.IP "index" 12
|
||||
Discovery Descriptor Index: This field indicates
|
||||
the number of this Discovery Descriptor in
|
||||
the Discovery Descriptor List.
|
||||
.IP "hfi_index" 12
|
||||
HFI Descriptor Index: This field indicates the value
|
||||
of the HFI Descriptor Index field of the HFI Descriptor
|
||||
associated with this Discovery Descriptor. If multiple
|
||||
HFIs share a common Discovery controller, there shall
|
||||
be multiple Discovery Descriptor entries with one per HFI.
|
||||
.IP "sec_index" 12
|
||||
Security Profile Descriptor Index: This field indicates
|
||||
the value of the Security Profile Descriptor Index
|
||||
field of the Security Descriptor associated with
|
||||
this Discovery Descriptor.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "discovery_ctrl_addr_obj" 12
|
||||
Discovery Controller Address Heap Object Reference:
|
||||
This field indicates the location and size of a heap
|
||||
object containing a URI which indicates an NVMe Discovery
|
||||
controller associated with this Discovery Descriptor.
|
||||
If this field is cleared to 0h, then no URI is specified.
|
||||
.IP "discovery_ctrl_nqn_obj" 12
|
||||
Discovery Controller NQN Heap Object Reference:
|
||||
If set to a non-zero value, this field indicates
|
||||
the location and size of a heap object containing
|
||||
an NVMe Discovery controller NQN. If the NVMe Discovery
|
||||
controller referenced by this record requires secure
|
||||
authentication with a well known Subsystem NQN, this
|
||||
field indicates the unique NQN for that NVMe Discovery
|
||||
controller. This record is involved formatted as an NQN
|
||||
string. If this field is cleared to 0h, then this
|
||||
field is reserved and the OS shall use the well
|
||||
known discovery NQN for this record.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
14
doc/man/nbft_discovery_flags.2
Normal file
14
doc/man/nbft_discovery_flags.2
Normal file
|
@ -0,0 +1,14 @@
|
|||
.TH "libnvme" 9 "enum nbft_discovery_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_discovery_flags \- Discovery Descriptor Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_discovery_flags {
|
||||
.br
|
||||
.BI " NBFT_DISCOVERY_VALID"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_DISCOVERY_VALID" 12
|
||||
Descriptor Valid: if set to 1h, then this descriptor
|
||||
is valid. If cleared to 0h, then this descriptor
|
||||
is reserved.
|
93
doc/man/nbft_header.2
Normal file
93
doc/man/nbft_header.2
Normal file
|
@ -0,0 +1,93 @@
|
|||
.TH "libnvme" 9 "struct nbft_header" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_header \- NBFT Table - Header (Figure 8)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_header {
|
||||
.br
|
||||
.BI " char signature[4];"
|
||||
.br
|
||||
.BI " __le32 length;"
|
||||
.br
|
||||
.BI " __u8 major_revision;"
|
||||
.br
|
||||
.BI " __u8 checksum;"
|
||||
.br
|
||||
.BI " char oem_id[6];"
|
||||
.br
|
||||
.BI " char oem_table_id[8];"
|
||||
.br
|
||||
.BI " __le32 oem_revision;"
|
||||
.br
|
||||
.BI " __le32 creator_id;"
|
||||
.br
|
||||
.BI " __le32 creator_revision;"
|
||||
.br
|
||||
.BI " __le32 heap_offset;"
|
||||
.br
|
||||
.BI " __le32 heap_length;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj driver_dev_path_sig;"
|
||||
.br
|
||||
.BI " __u8 minor_revision;"
|
||||
.br
|
||||
.BI " __u8 reserved[13];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "signature" 12
|
||||
Signature: An ASCII string representation of the table
|
||||
identifier. This field shall be set to the value 4E424654h
|
||||
(i.e. "NBFT", see #NBFT_HEADER_SIG).
|
||||
.IP "length" 12
|
||||
Length: The length of the table, in bytes, including the
|
||||
header, starting from offset 0h. This field is used to record
|
||||
the size of the entire table.
|
||||
.IP "major_revision" 12
|
||||
Major Revision: The major revision of the structure
|
||||
corresponding to the Signature field. Larger major revision
|
||||
numbers should not be assumed backward compatible to lower
|
||||
major revision numbers with the same signature.
|
||||
.IP "checksum" 12
|
||||
Checksum: The entire table, including the Checksum field,
|
||||
shall sum to 0h to be considered valid.
|
||||
.IP "oem_id" 12
|
||||
OEMID shall be populated by the NBFT driver writer by
|
||||
an OEM-supplied string that identifies the OEM. All
|
||||
trailing bytes shall be NULL.
|
||||
.IP "oem_table_id" 12
|
||||
OEM Table ID: This field shall be populated by the NBFT
|
||||
driver writer with an OEM-supplied string that the OEM
|
||||
uses to identify the particular data table. This field is
|
||||
particularly useful when defining a definition block to
|
||||
distinguish definition block functions. The OEM assigns
|
||||
each dissimilar table a new OEM Table ID.
|
||||
.IP "oem_revision" 12
|
||||
OEM Revision: An OEM-supplied revision number. Larger
|
||||
numbers are assumed to be newer revisions.
|
||||
.IP "creator_id" 12
|
||||
Creator ID: Vendor ID of utility that created the table.
|
||||
For instance, this may be the ID for the ASL Compiler.
|
||||
.IP "creator_revision" 12
|
||||
Creator Revision: Revision of utility that created the
|
||||
table. For instance, this may be the ID for the ASL Compiler.
|
||||
.IP "heap_offset" 12
|
||||
Heap Offset (HO): This field indicates the offset in bytes
|
||||
of the heap, if any, from byte offset 0h of the NBFT
|
||||
Table Header.
|
||||
.IP "heap_length" 12
|
||||
Heap Length (HL): The length of the heap, if any.
|
||||
.IP "driver_dev_path_sig" 12
|
||||
Driver Signature Heap Object Reference: This field indicates
|
||||
the offset in bytes of a heap object containing the Driver
|
||||
Signature, if any, from byte offset 0h of the NBFT Table
|
||||
Header.
|
||||
.IP "minor_revision" 12
|
||||
Minor Revision: The minor revision of the structure
|
||||
corresponding to the Signature field. If the major revision
|
||||
numbers are the same, any minor revision number differences
|
||||
shall be backwards compatible with the same signature.
|
||||
.IP "reserved" 12
|
||||
Reserved.
|
20
doc/man/nbft_heap_obj.2
Normal file
20
doc/man/nbft_heap_obj.2
Normal file
|
@ -0,0 +1,20 @@
|
|||
.TH "libnvme" 9 "struct nbft_heap_obj" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_heap_obj \- NBFT Header Driver Signature
|
||||
.SH SYNOPSIS
|
||||
struct nbft_heap_obj {
|
||||
.br
|
||||
.BI " __le32 offset;"
|
||||
.br
|
||||
.BI " __le16 length;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "offset" 12
|
||||
Offset in bytes of the heap object, if any, from byte offset 0h
|
||||
of the NBFT Table Header.
|
||||
.IP "length" 12
|
||||
Length in bytes of the heap object, if any.
|
44
doc/man/nbft_hfi.2
Normal file
44
doc/man/nbft_hfi.2
Normal file
|
@ -0,0 +1,44 @@
|
|||
.TH "libnvme" 9 "struct nbft_hfi" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_hfi \- Host Fabric Interface (HFI) Descriptor (Figure 11)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_hfi {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 index;"
|
||||
.br
|
||||
.BI " __u8 flags;"
|
||||
.br
|
||||
.BI " __u8 trtype;"
|
||||
.br
|
||||
.BI " __u8 reserved1[12];"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj trinfo_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved2[10];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 3h (i.e., Host Fabric
|
||||
Interface Descriptor; #NBFT_DESC_HFI).
|
||||
.IP "index" 12
|
||||
HFI Descriptor Index: This field indicates the number of this
|
||||
HFI Descriptor in the Host Fabric Interface Descriptor List.
|
||||
.IP "flags" 12
|
||||
HFI Descriptor Flags, see \fIenum nbft_hfi_flags\fP.
|
||||
.IP "trtype" 12
|
||||
HFI Transport Type, see \fIenum nbft_trtype\fP.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "trinfo_obj" 12
|
||||
HFI Transport Info Descriptor Heap Object Reference: If this
|
||||
field is set to a non-zero value, then this field indicates
|
||||
the location and size of a heap object containing
|
||||
a HFI Transport Info.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
13
doc/man/nbft_hfi_flags.2
Normal file
13
doc/man/nbft_hfi_flags.2
Normal file
|
@ -0,0 +1,13 @@
|
|||
.TH "libnvme" 9 "enum nbft_hfi_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_hfi_flags \- HFI Descriptor Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_hfi_flags {
|
||||
.br
|
||||
.BI " NBFT_HFI_VALID"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_HFI_VALID" 12
|
||||
Descriptor Valid: If set to 1h, then this descriptor is valid.
|
||||
If cleared to 0h, then this descriptor is reserved.
|
137
doc/man/nbft_hfi_info_tcp.2
Normal file
137
doc/man/nbft_hfi_info_tcp.2
Normal file
|
@ -0,0 +1,137 @@
|
|||
.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP (Figure 13)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_hfi_info_tcp {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 version;"
|
||||
.br
|
||||
.BI " __u8 trtype;"
|
||||
.br
|
||||
.BI " __u8 trinfo_version;"
|
||||
.br
|
||||
.BI " __le16 hfi_index;"
|
||||
.br
|
||||
.BI " __u8 flags;"
|
||||
.br
|
||||
.BI " __le32 pci_sbdf;"
|
||||
.br
|
||||
.BI " __u8 mac_addr[6];"
|
||||
.br
|
||||
.BI " __le16 vlan;"
|
||||
.br
|
||||
.BI " __u8 ip_origin;"
|
||||
.br
|
||||
.BI " __u8 ip_address[16];"
|
||||
.br
|
||||
.BI " __u8 subnet_mask_prefix;"
|
||||
.br
|
||||
.BI " __u8 ip_gateway[16];"
|
||||
.br
|
||||
.BI " __u8 reserved1;"
|
||||
.br
|
||||
.BI " __le16 route_metric;"
|
||||
.br
|
||||
.BI " __u8 primary_dns[16];"
|
||||
.br
|
||||
.BI " __u8 secondary_dns[16];"
|
||||
.br
|
||||
.BI " __u8 dhcp_server[16];"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj host_name_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved2[18];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 7h (i.e.,
|
||||
HFI Transport Info; #NBFT_DESC_HFI_TRINFO).
|
||||
.IP "version" 12
|
||||
Version: This field shall be set to 1h.
|
||||
.IP "trtype" 12
|
||||
HFI Transport Type, see \fIenum nbft_trtype\fP: This field
|
||||
shall be set to 03h (i.e., NVMe/TCP; #NBFT_TRTYPE_TCP).
|
||||
.IP "trinfo_version" 12
|
||||
Transport Info Version: Implementations compliant to this
|
||||
specification shall set this field to 1h.
|
||||
.IP "hfi_index" 12
|
||||
HFI Descriptor Index: The value of the HFI Descriptor Index
|
||||
field of the HFI Descriptor (see \fIstruct nbft_hfi\fP.index)
|
||||
whose HFI Transport Info Descriptor Heap Object Reference
|
||||
field indicates this HFI Transport Info Descriptor.
|
||||
.IP "flags" 12
|
||||
HFI Transport Flags, see \fIenum nbft_hfi_info_tcp_flags\fP.
|
||||
.IP "pci_sbdf" 12
|
||||
PCI Express Routing ID for the HFI Transport Function:
|
||||
This field indicates the PCI Express Routing ID as specified
|
||||
in the PCI Express Base Specification.
|
||||
.IP "mac_addr" 12
|
||||
MAC Address: The MAC address of this HFI, in EUI-48TM format,
|
||||
as defined in the IEEE Guidelines for Use of Extended Unique
|
||||
Identifiers. This field shall be set to a non-zero value.
|
||||
.IP "vlan" 12
|
||||
VLAN: If this field is set to a non-zero value, then this
|
||||
field contains the VLAN identifier if the VLAN associated
|
||||
with this HFI, as defined in IEEE 802.1q-2018. If no VLAN
|
||||
is associated with this HFI, then this field shall be cleared
|
||||
to 0h.
|
||||
.IP "ip_origin" 12
|
||||
IP Origin: If this field is set to a non-zero value, then
|
||||
this field indicates the source of Ethernet L3 configuration
|
||||
information used by the driver for this interface. Valid
|
||||
values are defined in the Win 32 API: NL_PREFIX_ORIGIN
|
||||
enumeration specification. This field should be cleared
|
||||
to 0h if the IP Origin field is unused by driver.
|
||||
.IP "ip_address" 12
|
||||
IP Address: This field indicates the IPv4 or IPv6 address
|
||||
of this HFI. This field shall be set to a non-zero value.
|
||||
.IP "subnet_mask_prefix" 12
|
||||
Subnet Mask Prefix: This field indicates the IPv4 or IPv6
|
||||
subnet mask in CIDR routing prefix notation.
|
||||
.IP "ip_gateway" 12
|
||||
IP Gateway: If this field is set to a non-zero value, this
|
||||
field indicates the IPv4 or IPv6 address of the IP gateway
|
||||
for this HFI. If this field is cleared to 0h, then
|
||||
no IP gateway is specified.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "route_metric" 12
|
||||
Route Metric: If this field is set to a non-zero value,
|
||||
this field indicates the cost value for the route indicated
|
||||
by this HF. This field contains the value utilized by the
|
||||
pre-OS driver when chosing among all available routes. Lower
|
||||
values relate to higher priority. Refer to IETF RFC 4249.
|
||||
If the pre-OS driver supports routing and did not configure
|
||||
a specific route metric for this interface, then the pre-OS
|
||||
driver should set this value to 500. If the pre-OS driver
|
||||
does not support routing, then this field should be cleared
|
||||
to 0h.
|
||||
.IP "primary_dns" 12
|
||||
Primary DNS: If this field is set to a non-zero value,
|
||||
this field indicates the IPv4 or IPv6 address of the
|
||||
Primary DNS server for this HFI, if any, from byte offset
|
||||
0h of the NBFT Table Header. If this field is cleared to 0h,
|
||||
then no Primary DNS is specified.
|
||||
.IP "secondary_dns" 12
|
||||
Secondary DNS: If this field is set to a non-zero value,
|
||||
this field indicates the IPv4 or IPv6 address of
|
||||
the Secondary DNS server for this HFI, if any, from byte
|
||||
offset 0h of the NBFT Table Header. If this field is
|
||||
cleared to 0h, then no Secondary DNS is specified.
|
||||
.IP "dhcp_server" 12
|
||||
DHCP Server: If the DHCP Override bit is set to 1h, then
|
||||
this field indicates the IPv4 or IPv6 address of the DHCP
|
||||
server used to assign this HFI address. If that bit is
|
||||
cleared to 0h, then this field is reserved.
|
||||
.IP "host_name_obj" 12
|
||||
Host Name Heap Object Reference: If this field is set
|
||||
to a non-zero value, then this field indicates the location
|
||||
and size of a heap object containing a Host Name string.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
35
doc/man/nbft_hfi_info_tcp_flags.2
Normal file
35
doc/man/nbft_hfi_info_tcp_flags.2
Normal file
|
@ -0,0 +1,35 @@
|
|||
.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_hfi_info_tcp_flags \- HFI Transport Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_hfi_info_tcp_flags {
|
||||
.br
|
||||
.BI " NBFT_HFI_INFO_TCP_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HFI_INFO_TCP_GLOBAL_ROUTE"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HFI_INFO_TCP_DHCP_OVERRIDE"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_HFI_INFO_TCP_VALID" 12
|
||||
Descriptor Valid: if set to 1h, then this
|
||||
descriptor is valid. If cleared to 0h, then
|
||||
this descriptor is reserved.
|
||||
.IP "NBFT_HFI_INFO_TCP_GLOBAL_ROUTE" 12
|
||||
Global Route vs. Link Local Override Flag:
|
||||
if set to 1h, then the BIOS utilized this
|
||||
interface described by HFI to be the default
|
||||
route with highest priority. If cleared to 0h,
|
||||
then routes are local to their own scope.
|
||||
.IP "NBFT_HFI_INFO_TCP_DHCP_OVERRIDE" 12
|
||||
DHCP Override: if set to 1, then HFI information
|
||||
was populated by consuming the DHCP on this
|
||||
interface. If cleared to 0h, then the HFI
|
||||
information was set administratively by
|
||||
a configuration interface to the driver and
|
||||
pre-OS envrionment.
|
36
doc/man/nbft_host.2
Normal file
36
doc/man/nbft_host.2
Normal file
|
@ -0,0 +1,36 @@
|
|||
.TH "libnvme" 9 "struct nbft_host" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_host \- Host Descriptor (Figure 9)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_host {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 flags;"
|
||||
.br
|
||||
.BI " __u8 host_id[16];"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj host_nqn_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved[8];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 2h (i.e.,
|
||||
Host Descriptor; #NBFT_DESC_HOST).
|
||||
.IP "flags" 12
|
||||
Host Flags, see \fIenum nbft_host_flags\fP.
|
||||
.IP "host_id" 12
|
||||
Host ID: This field shall be set to the Host Identifier. This
|
||||
field shall not be empty if the NBFT and NVMe Boot are supported
|
||||
by the Platform.
|
||||
.IP "host_nqn_obj" 12
|
||||
Host NQN Heap Object Reference: this field indicates a heap
|
||||
object containing a Host NQN. This object shall not be empty
|
||||
if the NBFT and NVMe Boot are supported by the Platform.
|
||||
.IP "reserved" 12
|
||||
Reserved.
|
75
doc/man/nbft_host_flags.2
Normal file
75
doc/man/nbft_host_flags.2
Normal file
|
@ -0,0 +1,75 @@
|
|||
.TH "libnvme" 9 "enum nbft_host_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_host_flags \- Host Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_host_flags {
|
||||
.br
|
||||
.BI " NBFT_HOST_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_HOSTID_CONFIGURED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_HOSTNQN_CONFIGURED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_PRIMARY_ADMIN_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_PRIMARY_ADMIN_NOT_INDICATED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_PRIMARY_ADMIN_UNSELECTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_HOST_PRIMARY_ADMIN_SELECTED"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_HOST_VALID" 12
|
||||
Descriptor Valid: If set to 1h, then this
|
||||
descriptor is valid. If cleared to 0h, then
|
||||
this descriptor is reserved.
|
||||
.IP "NBFT_HOST_HOSTID_CONFIGURED" 12
|
||||
HostID Configured: If set to 1h, then the
|
||||
Host ID field contains an administratively-configured
|
||||
value. If cleared to 0h, then the Host ID
|
||||
field contains a driver default value.
|
||||
.IP "NBFT_HOST_HOSTNQN_CONFIGURED" 12
|
||||
Host NQN Configured: If set to 1h, then the
|
||||
Host NQN indicated by the Host NQN Heap Object
|
||||
Reference field (\fIstruct nbft_host\fP.host_nqn)
|
||||
contains an administratively-configured value.
|
||||
If cleared to 0h, then the Host NQN indicated
|
||||
by the Host NQN Offset field contains a driver
|
||||
default value.
|
||||
.IP "NBFT_HOST_PRIMARY_ADMIN_MASK" 12
|
||||
Mask to get Primary Administrative Host Descriptor:
|
||||
indicates whether the Host Descriptor in this
|
||||
NBFT was selected as the primary NBFT for
|
||||
administrative purposes of platform identity
|
||||
as a hint to the OS. If multiple NBFT tables
|
||||
are present, only one NBFT should be administratively
|
||||
selected. There is no enforcement mechanism
|
||||
for this to be coordinated between multiple NBFT
|
||||
tables, but this field should be set to Selected
|
||||
(#NBFT_HOST_PRIMARY_ADMIN_SELECTED) if
|
||||
more than one NBFT is present.
|
||||
.IP "NBFT_HOST_PRIMARY_ADMIN_NOT_INDICATED" 12
|
||||
Not Indicated by Driver: The driver that created
|
||||
this NBFT provided no administrative priority
|
||||
hint for this NBFT.
|
||||
.IP "NBFT_HOST_PRIMARY_ADMIN_UNSELECTED" 12
|
||||
Unselected: The driver that created this NBFT
|
||||
explicitly indicated that this NBFT should
|
||||
not be prioritized over any other NBFT.
|
||||
.IP "NBFT_HOST_PRIMARY_ADMIN_SELECTED" 12
|
||||
Selected: The driver that created this NBFT
|
||||
explicitly indicated that this NBFT should
|
||||
be prioritized over any other NBFT.
|
43
doc/man/nbft_info.2
Normal file
43
doc/man/nbft_info.2
Normal file
|
@ -0,0 +1,43 @@
|
|||
.TH "libnvme" 9 "struct nbft_info" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info \- The parsed NBFT table data.
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info {
|
||||
.br
|
||||
.BI " char *filename;"
|
||||
.br
|
||||
.BI " __u8 *raw_nbft;"
|
||||
.br
|
||||
.BI " ssize_t raw_nbft_size;"
|
||||
.br
|
||||
.BI " struct nbft_info_host host;"
|
||||
.br
|
||||
.BI " struct nbft_info_hfi **hfi_list;"
|
||||
.br
|
||||
.BI " struct nbft_info_security **security_list;"
|
||||
.br
|
||||
.BI " struct nbft_info_discovery **discovery_list;"
|
||||
.br
|
||||
.BI " struct nbft_info_subsystem_ns **subsystem_ns_list;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "filename" 12
|
||||
Path to the NBFT table.
|
||||
.IP "raw_nbft" 12
|
||||
The original NBFT table contents.
|
||||
.IP "raw_nbft_size" 12
|
||||
Size of \fIraw_nbft\fP.
|
||||
.IP "host" 12
|
||||
The Host Descriptor (should match other NBFTs).
|
||||
.IP "hfi_list" 12
|
||||
The HFI Descriptor List (null-terminated array).
|
||||
.IP "security_list" 12
|
||||
The Security Profile Descriptor List (null-terminated array).
|
||||
.IP "discovery_list" 12
|
||||
The Discovery Descriptor List (null-terminated array).
|
||||
.IP "subsystem_ns_list" 12
|
||||
The SSNS Descriptor List (null-terminated array).
|
34
doc/man/nbft_info_discovery.2
Normal file
34
doc/man/nbft_info_discovery.2
Normal file
|
@ -0,0 +1,34 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_discovery" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_discovery \- Discovery Descriptor
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_discovery {
|
||||
.br
|
||||
.BI " int index;"
|
||||
.br
|
||||
.BI " struct nbft_info_security *security;"
|
||||
.br
|
||||
.BI " struct nbft_info_hfi *hfi;"
|
||||
.br
|
||||
.BI " char *uri;"
|
||||
.br
|
||||
.BI " char *nqn;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "index" 12
|
||||
The number of this Discovery Descriptor in the Discovery
|
||||
Descriptor List.
|
||||
.IP "security" 12
|
||||
The Security Profile Descriptor, see \fIstruct nbft_info_security\fP.
|
||||
.IP "hfi" 12
|
||||
The HFI Descriptor associated with this Discovery Descriptor.
|
||||
See \fIstruct nbft_info_hfi\fP.
|
||||
.IP "uri" 12
|
||||
A URI which indicates an NVMe Discovery controller associated
|
||||
with this Discovery Descriptor.
|
||||
.IP "nqn" 12
|
||||
An NVMe Discovery controller NQN.
|
24
doc/man/nbft_info_hfi.2
Normal file
24
doc/man/nbft_info_hfi.2
Normal file
|
@ -0,0 +1,24 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_hfi" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_hfi \- Host Fabric Interface (HFI) Descriptor
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_hfi {
|
||||
.br
|
||||
.BI " int index;"
|
||||
.br
|
||||
.BI " char transport[8];"
|
||||
.br
|
||||
.BI " struct nbft_info_hfi_info_tcp tcp_info;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "index" 12
|
||||
HFI Descriptor Index: indicates the number of this HFI Descriptor
|
||||
in the Host Fabric Interface Descriptor List.
|
||||
.IP "transport" 12
|
||||
Transport Type string (e.g. 'tcp').
|
||||
.IP "tcp_info" 12
|
||||
The HFI Transport Info Descriptor, see \fIstruct nbft_info_hfi_info_tcp\fP.
|
83
doc/man/nbft_info_hfi_info_tcp.2
Normal file
83
doc/man/nbft_info_hfi_info_tcp.2
Normal file
|
@ -0,0 +1,83 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_hfi_info_tcp {
|
||||
.br
|
||||
.BI " __u32 pci_sbdf;"
|
||||
.br
|
||||
.BI " __u8 mac_addr[6];"
|
||||
.br
|
||||
.BI " __u16 vlan;"
|
||||
.br
|
||||
.BI " __u8 ip_origin;"
|
||||
.br
|
||||
.BI " char ipaddr[40];"
|
||||
.br
|
||||
.BI " __u8 subnet_mask_prefix;"
|
||||
.br
|
||||
.BI " char gateway_ipaddr[40];"
|
||||
.br
|
||||
.BI " __u16 route_metric;"
|
||||
.br
|
||||
.BI " char primary_dns_ipaddr[40];"
|
||||
.br
|
||||
.BI " char secondary_dns_ipaddr[40];"
|
||||
.br
|
||||
.BI " char dhcp_server_ipaddr[40];"
|
||||
.br
|
||||
.BI " char *host_name;"
|
||||
.br
|
||||
.BI " bool this_hfi_is_default_route;"
|
||||
.br
|
||||
.BI " bool dhcp_override;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "pci_sbdf" 12
|
||||
PCI Express Routing ID for the HFI Transport Function.
|
||||
.IP "mac_addr" 12
|
||||
MAC Address: The MAC address of this HFI,
|
||||
in EUI-48TM format.
|
||||
.IP "vlan" 12
|
||||
The VLAN identifier if the VLAN is associated with
|
||||
this HFI, as defined in IEEE 802.1q-2018 or zeroes
|
||||
if no VLAN is associated with this HFI.
|
||||
.IP "ip_origin" 12
|
||||
The source of Ethernet L3 configuration information
|
||||
used by the driver or 0 if not used.
|
||||
.IP "ipaddr" 12
|
||||
The IPv4 or IPv6 address of this HFI.
|
||||
.IP "subnet_mask_prefix" 12
|
||||
The IPv4 or IPv6 subnet mask in CIDR routing prefix
|
||||
notation.
|
||||
.IP "gateway_ipaddr" 12
|
||||
The IPv4 or IPv6 address of the IP gateway for this
|
||||
HFI or zeroes if no IP gateway is specified.
|
||||
.IP "route_metric" 12
|
||||
The cost value for the route indicated by this HFI.
|
||||
.IP "primary_dns_ipaddr" 12
|
||||
The IPv4 or IPv6 address of the Primary DNS server
|
||||
for this HFI.
|
||||
.IP "secondary_dns_ipaddr" 12
|
||||
The IPv4 or IPv6 address of the Secondary DNS server
|
||||
for this HFI.
|
||||
.IP "dhcp_server_ipaddr" 12
|
||||
The IPv4 or IPv6 address of the DHCP server used
|
||||
to assign this HFI address.
|
||||
.IP "host_name" 12
|
||||
The Host Name string.
|
||||
.IP "this_hfi_is_default_route" 12
|
||||
If True, then the BIOS utilized this interface
|
||||
described by HFI to be the default route with highest
|
||||
priority. If False, then routes are local to their
|
||||
own scope.
|
||||
.IP "dhcp_override" 12
|
||||
If True, then HFI information was populated
|
||||
by consuming the DHCP on this interface. If False,
|
||||
then the HFI information was set administratively
|
||||
by a configuration interface to the driver and
|
||||
pre-OS envrionment.
|
36
doc/man/nbft_info_host.2
Normal file
36
doc/man/nbft_info_host.2
Normal file
|
@ -0,0 +1,36 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_host" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_host \- Host Descriptor
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_host {
|
||||
.br
|
||||
.BI " unsigned char *id;"
|
||||
.br
|
||||
.BI " char *nqn;"
|
||||
.br
|
||||
.BI " bool host_id_configured;"
|
||||
.br
|
||||
.BI " bool host_nqn_configured;"
|
||||
.br
|
||||
.BI " enum nbft_info_primary_admin_host_flag primary;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "id" 12
|
||||
Host ID (raw UUID, length = 16 bytes).
|
||||
.IP "nqn" 12
|
||||
Host NQN.
|
||||
.IP "host_id_configured" 12
|
||||
HostID Configured Flag: value of True indicates that \fIid\fP
|
||||
contains administratively-configured value, or driver
|
||||
default value if False.
|
||||
.IP "host_nqn_configured" 12
|
||||
Host NQN Configured Flag: value of True indicates that
|
||||
\fInqn\fP contains administratively-configured value,
|
||||
or driver default value if False.
|
||||
.IP "primary" 12
|
||||
Primary Administrative Host Descriptor, see
|
||||
\fIenum nbft_info_primary_admin_host_flag\fP.
|
30
doc/man/nbft_info_nid_type.2
Normal file
30
doc/man/nbft_info_nid_type.2
Normal file
|
@ -0,0 +1,30 @@
|
|||
.TH "libnvme" 9 "enum nbft_info_nid_type" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_info_nid_type \- Namespace Identifier Type (NIDT)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_info_nid_type {
|
||||
.br
|
||||
.BI " NBFT_INFO_NID_TYPE_NONE"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_NID_TYPE_EUI64"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_NID_TYPE_NGUID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_NID_TYPE_NS_UUID"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_INFO_NID_TYPE_NONE" 12
|
||||
No identifier available.
|
||||
.IP "NBFT_INFO_NID_TYPE_EUI64" 12
|
||||
The EUI-64 identifier.
|
||||
.IP "NBFT_INFO_NID_TYPE_NGUID" 12
|
||||
The NSGUID identifier.
|
||||
.IP "NBFT_INFO_NID_TYPE_NS_UUID" 12
|
||||
The UUID identifier.
|
39
doc/man/nbft_info_primary_admin_host_flag.2
Normal file
39
doc/man/nbft_info_primary_admin_host_flag.2
Normal file
|
@ -0,0 +1,39 @@
|
|||
.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_info_primary_admin_host_flag \- Primary Administrative Host Descriptor Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_info_primary_admin_host_flag {
|
||||
.br
|
||||
.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED" 12
|
||||
Not Indicated by Driver: The driver
|
||||
that created this NBFT provided no
|
||||
administrative priority hint for
|
||||
this NBFT.
|
||||
.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED" 12
|
||||
Unselected: The driver that created
|
||||
this NBFT explicitly indicated that
|
||||
this NBFT should not be prioritized
|
||||
over any other NBFT.
|
||||
.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED" 12
|
||||
Selected: The driver that created
|
||||
this NBFT explicitly indicated that
|
||||
this NBFT should be prioritized over
|
||||
any other NBFT.
|
||||
.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED" 12
|
||||
Reserved.
|
16
doc/man/nbft_info_security.2
Normal file
16
doc/man/nbft_info_security.2
Normal file
|
@ -0,0 +1,16 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_security" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_security \- Security Profile Descriptor
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_security {
|
||||
.br
|
||||
.BI " int index;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "index" 12
|
||||
The number of this Security Profile Descriptor in the Security
|
||||
Profile Descriptor List.
|
94
doc/man/nbft_info_subsystem_ns.2
Normal file
94
doc/man/nbft_info_subsystem_ns.2
Normal file
|
@ -0,0 +1,94 @@
|
|||
.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info
|
||||
.SH SYNOPSIS
|
||||
struct nbft_info_subsystem_ns {
|
||||
.br
|
||||
.BI " int index;"
|
||||
.br
|
||||
.BI " struct nbft_info_discovery *discovery;"
|
||||
.br
|
||||
.BI " struct nbft_info_security *security;"
|
||||
.br
|
||||
.BI " int num_hfis;"
|
||||
.br
|
||||
.BI " struct nbft_info_hfi **hfis;"
|
||||
.br
|
||||
.BI " char transport[8];"
|
||||
.br
|
||||
.BI " char traddr[40];"
|
||||
.br
|
||||
.BI " char *trsvcid;"
|
||||
.br
|
||||
.BI " __u16 subsys_port_id;"
|
||||
.br
|
||||
.BI " __u32 nsid;"
|
||||
.br
|
||||
.BI " enum nbft_info_nid_type nid_type;"
|
||||
.br
|
||||
.BI " __u8 *nid;"
|
||||
.br
|
||||
.BI " char *subsys_nqn;"
|
||||
.br
|
||||
.BI " bool pdu_header_digest_required;"
|
||||
.br
|
||||
.BI " bool data_digest_required;"
|
||||
.br
|
||||
.BI " int controller_id;"
|
||||
.br
|
||||
.BI " int asqsz;"
|
||||
.br
|
||||
.BI " char *dhcp_root_path_string;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "index" 12
|
||||
SSNS Descriptor Index in the descriptor list.
|
||||
.IP "discovery" 12
|
||||
Primary Discovery Controller associated with
|
||||
this SSNS Descriptor.
|
||||
.IP "security" 12
|
||||
Security Profile Descriptor associated with
|
||||
this namespace.
|
||||
.IP "num_hfis" 12
|
||||
Number of HFIs.
|
||||
.IP "hfis" 12
|
||||
List of HFIs associated with this namespace.
|
||||
Includes the primary HFI at the first position
|
||||
and all secondary HFIs. This array is null-terminated.
|
||||
.IP "transport" 12
|
||||
Transport Type string (e.g. 'tcp').
|
||||
.IP "traddr" 12
|
||||
Subsystem Transport Address.
|
||||
.IP "trsvcid" 12
|
||||
Subsystem Transport Service Identifier.
|
||||
.IP "subsys_port_id" 12
|
||||
The Subsystem Port ID.
|
||||
.IP "nsid" 12
|
||||
The Namespace ID of this descriptor or when \fInid\fP
|
||||
should be used instead.
|
||||
.IP "nid_type" 12
|
||||
Namespace Identifier Type, see \fIenum nbft_info_nid_type\fP.
|
||||
.IP "nid" 12
|
||||
The Namespace Identifier value.
|
||||
.IP "subsys_nqn" 12
|
||||
Subsystem and Namespace NQN.
|
||||
.IP "pdu_header_digest_required" 12
|
||||
PDU Header Digest (HDGST) Flag: the use of NVM Header
|
||||
Digest Enabled is required.
|
||||
.IP "data_digest_required" 12
|
||||
Data Digest (DDGST) Flag: the use of NVM Data Digest
|
||||
Enabled is required.
|
||||
.IP "controller_id" 12
|
||||
Controller ID (SSNS Extended Information Descriptor):
|
||||
The controller ID associated with the Admin Queue
|
||||
or 0 if not supported.
|
||||
.IP "asqsz" 12
|
||||
Admin Submission Queue Size (SSNS Extended Information
|
||||
Descriptor) or 0 if not supported.
|
||||
.IP "dhcp_root_path_string" 12
|
||||
DHCP Root Path Override string (SSNS Extended
|
||||
Information Descriptor).
|
98
doc/man/nbft_security.2
Normal file
98
doc/man/nbft_security.2
Normal file
|
@ -0,0 +1,98 @@
|
|||
.TH "libnvme" 9 "struct nbft_security" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_security \- Security Profile Descriptor (Figure 21)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_security {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 index;"
|
||||
.br
|
||||
.BI " __le16 flags;"
|
||||
.br
|
||||
.BI " __u8 secret_type;"
|
||||
.br
|
||||
.BI " __u8 reserved1;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj sec_chan_alg_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj auth_proto_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj cipher_suite_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj dh_grp_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj sec_hash_func_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj sec_keypath_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved2[22];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 5h
|
||||
(i.e., Security; #NBFT_DESC_SECURITY).
|
||||
.IP "index" 12
|
||||
Security Profile Descriptor Index: This field indicates
|
||||
the number of this Security Profile Descriptor in the
|
||||
Security Profile Descriptor List.
|
||||
.IP "flags" 12
|
||||
Security Profile Descriptor Flags, see \fIenum nbft_security_flags\fP.
|
||||
.IP "secret_type" 12
|
||||
Secret Type, see \fIenum nbft_security_secret_type\fP.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "sec_chan_alg_obj" 12
|
||||
Secure Channel Algorithm Heap Object Reference: If the
|
||||
Security Policy List field is set to 1h, then this field
|
||||
indicates the location and size of a heap object containing
|
||||
a list of secure channel algorithms. The list is an array
|
||||
of bytes and the values are defined in the Security Type
|
||||
(SECTYPE) field in the Transport Specific Address Subtype
|
||||
Definition in the NVMe TCP Transport Specification.
|
||||
If the Security Policy List field is cleared to 0h, then
|
||||
this field is reserved.
|
||||
.IP "auth_proto_obj" 12
|
||||
Authentication Protocols Heap Object Reference: If the
|
||||
Authentication Policy List field is set to 1h, then this
|
||||
field indicates the location and size of a heap object
|
||||
containing a list of authentication protocol identifiers.
|
||||
If the Authentication Policy List field is cleared to 0h,
|
||||
then this field is reserved.
|
||||
.IP "cipher_suite_obj" 12
|
||||
Cipher Suite Offset Heap Object Reference: If the Cipher
|
||||
Suites Restricted by Policy bit is set to 1h, then this
|
||||
field indicates the location and size of a heap object
|
||||
containing a list of cipher suite identifiers. The list,
|
||||
if any, is an array of bytes and the values are defined
|
||||
in the IANA TLS Parameters Registry. If the Cipher Suites
|
||||
Restricted by Policy bit is cleared to 0h, then this field
|
||||
is reserved.
|
||||
.IP "dh_grp_obj" 12
|
||||
DH Groups Heap Object Reference: If the Authentication DH Groups
|
||||
Restricted by Policy List bit is set to 1h, then this field
|
||||
indicates the location and size of a heap object containing
|
||||
a list of DH-HMAC-CHAP Diffie-Hellman (DH) group identifiers.
|
||||
If the Authentication DH Groups Restricted by Policy List
|
||||
bit is cleared to 0h, then this field is reserved.
|
||||
.IP "sec_hash_func_obj" 12
|
||||
Secure Hash Functions Offset Heap Object Reference: If the
|
||||
Secure Hash Functions Policy List bit is set to 1h, then
|
||||
this field indicates the offset in bytes of a heap object
|
||||
containing a list of DH-HMAC-CHAP hash function identifiers.
|
||||
The list is an array of bytes and the values are defined
|
||||
in the NVM Express Base Specification. If the Secure Hash
|
||||
Functions Policy List bit is cleared to 0h, then this
|
||||
field is reserved.
|
||||
.IP "sec_keypath_obj" 12
|
||||
Secret Keypath Offset Heap Object Reference: if this field
|
||||
is set to a non-zero value, then this field indicates
|
||||
the location and size of a heap object containing a URI.
|
||||
The type of the URI is specified in the Secret Type field.
|
||||
If this field is cleared to 0h, then this field is reserved.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
179
doc/man/nbft_security_flags.2
Normal file
179
doc/man/nbft_security_flags.2
Normal file
|
@ -0,0 +1,179 @@
|
|||
.TH "libnvme" 9 "enum nbft_security_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_security_flags \- Security Profile Descriptor Flags (Figure 22)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_security_flags {
|
||||
.br
|
||||
.BI " NBFT_SECURITY_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_IN_BAND_AUTH_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_IN_BAND_AUTH_REQUIRED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_AUTH_POLICY_LIST_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_CHAN_NEG_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_POLICY_LIST_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_POLICY_LIST_DRIVER"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_POLICY_LIST_ADMIN"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_CIPHER_RESTRICTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_SECURITY_VALID" 12
|
||||
Descriptor Valid: If set to 1h, then
|
||||
this descriptor is valid. If cleared
|
||||
to 0h, then this descriptor is not valid.
|
||||
.IP "NBFT_SECURITY_IN_BAND_AUTH_MASK" 12
|
||||
Mask to get the In-Band Authentication
|
||||
Required field.
|
||||
.IP "NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED" 12
|
||||
In-band authentication is not supported
|
||||
by the NVM subsystem.
|
||||
.IP "NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED" 12
|
||||
In-band authentication is supported by
|
||||
the NVM subsystem and is not required.
|
||||
.IP "NBFT_SECURITY_IN_BAND_AUTH_REQUIRED" 12
|
||||
In-band authentication is supported by
|
||||
the NVM subsystem and is required.
|
||||
.IP "NBFT_SECURITY_AUTH_POLICY_LIST_MASK" 12
|
||||
Mask to get the Authentication Policy List
|
||||
flag: This field indicates whether
|
||||
authentication protocols were indicated
|
||||
by policy from driver defaults or
|
||||
administrative configuration.
|
||||
.IP "NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED" 12
|
||||
Authentication Protocols Heap Object Reference
|
||||
field Offset and Length are reserved.
|
||||
.IP "NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER" 12
|
||||
Authentication Protocols Offset field and
|
||||
the Authentication Protocols Length field
|
||||
indicate a list of authentication protocols
|
||||
used by the driver.
|
||||
.IP "NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN" 12
|
||||
Authentication Protocols Offset field and
|
||||
the Authentication Protocols Length field
|
||||
indicate a list of authentication protocols
|
||||
that were administratively set and used
|
||||
by the driver.
|
||||
.IP "NBFT_SECURITY_SEC_CHAN_NEG_MASK" 12
|
||||
Mask to get the Secure Channel Negotiation
|
||||
Required flag: This field indicates whether
|
||||
secure channel negotiation (e.g. TLS)
|
||||
is required.
|
||||
.IP "NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED" 12
|
||||
Secure channel negotiation is not supported
|
||||
by the NVM subsystem.
|
||||
.IP "NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED" 12
|
||||
Secure channel negotiation is supported
|
||||
by the NVM subsystem and is not required.
|
||||
.IP "NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED" 12
|
||||
Secure channel negotiation is supported
|
||||
by the NVM subsystem and is required.
|
||||
.IP "NBFT_SECURITY_SEC_POLICY_LIST_MASK" 12
|
||||
Mask to get the Security Policy List flag:
|
||||
This field indicates whether secure channel
|
||||
protocols were indicated by policy from driver
|
||||
defaults or administrative configuration.
|
||||
.IP "NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED" 12
|
||||
The Offset field and Length field in the
|
||||
Secure Channel Algorithm Heap Object Reference
|
||||
field are reserved.
|
||||
.IP "NBFT_SECURITY_SEC_POLICY_LIST_DRIVER" 12
|
||||
The Heap Object specified by the Secure Channel
|
||||
Algorithm Heap Object Reference field indicates
|
||||
a list of authentication protocols used
|
||||
by the driver.
|
||||
.IP "NBFT_SECURITY_SEC_POLICY_LIST_ADMIN" 12
|
||||
The Heap Object specified by the Secure Channel
|
||||
Algorithm Heap Object Reference field indicates
|
||||
a list of authentication protocols that were
|
||||
administratively set and used by the driver.
|
||||
.IP "NBFT_SECURITY_CIPHER_RESTRICTED" 12
|
||||
Cipher Suites Restricted by Policy: If set to 1h,
|
||||
then the Cipher Suite Offset field and the
|
||||
Ciper Suite Length field indicate a list
|
||||
of supported cipher suites by the driver.
|
||||
If cleared to 0h, then the Cipher Suite Offset
|
||||
field and the Cipher Suite Length field
|
||||
are reserved.
|
||||
.IP "NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED" 12
|
||||
Authentication DH Groups Restricted
|
||||
by Policy List: If set to 1h, then connections
|
||||
shall use one of the authentication DH groups
|
||||
in the Authentication DH Groups List is required.
|
||||
If cleared to 0h, then no Authentication DH Groups
|
||||
List is indicated and use of an authentication
|
||||
DH Group is not required.
|
||||
.IP "NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST" 12
|
||||
Secure Hash Functions Policy List: If set to 1h,
|
||||
then connections shall use one of the secure
|
||||
hash functions in the Secure Hash Functions
|
||||
Policy List is required. If cleared to 0h,
|
||||
then no Secure Hash Functions Policy
|
||||
List is indicated and use of a secure
|
||||
hash function is not required.
|
16
doc/man/nbft_security_secret_type.2
Normal file
16
doc/man/nbft_security_secret_type.2
Normal file
|
@ -0,0 +1,16 @@
|
|||
.TH "libnvme" 9 "enum nbft_security_secret_type" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_security_secret_type \- Security Profile Descriptor Secret Type
|
||||
.SH SYNOPSIS
|
||||
enum nbft_security_secret_type {
|
||||
.br
|
||||
.BI " NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI" 12
|
||||
Redfish Host Interface URI:
|
||||
If set to 1h, then the Secret Keypath
|
||||
Object Reference is a URI pointing
|
||||
to a Redfish Key Collection Object
|
||||
that contains the PSK.
|
159
doc/man/nbft_ssns.2
Normal file
159
doc/man/nbft_ssns.2
Normal file
|
@ -0,0 +1,159 @@
|
|||
.TH "libnvme" 9 "struct nbft_ssns" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_ssns \- Subsystem Namespace (SSNS) Descriptor (Figure 15)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_ssns {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __le16 index;"
|
||||
.br
|
||||
.BI " __le16 flags;"
|
||||
.br
|
||||
.BI " __u8 trtype;"
|
||||
.br
|
||||
.BI " __le16 trflags;"
|
||||
.br
|
||||
.BI " __u8 primary_discovery_ctrl_index;"
|
||||
.br
|
||||
.BI " __u8 reserved1;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj subsys_traddr_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj subsys_trsvcid_obj;"
|
||||
.br
|
||||
.BI " __le16 subsys_port_id;"
|
||||
.br
|
||||
.BI " __le32 nsid;"
|
||||
.br
|
||||
.BI " __u8 nidt;"
|
||||
.br
|
||||
.BI " __u8 nid[16];"
|
||||
.br
|
||||
.BI " __u8 security_desc_index;"
|
||||
.br
|
||||
.BI " __u8 primary_hfi_desc_index;"
|
||||
.br
|
||||
.BI " __u8 reserved2;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj secondary_hfi_assoc_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj subsys_ns_nqn_obj;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj ssns_extended_info_desc_obj;"
|
||||
.br
|
||||
.BI " __u8 reserved3[62];"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 4h
|
||||
(i.e., SSNS; #NBFT_DESC_SSNS).
|
||||
.IP "index" 12
|
||||
SSNS Descriptor Index: This field indicates the number
|
||||
of this Subsystem Namespace Descriptor in the
|
||||
Subsystem Namespace Descriptor List.
|
||||
.IP "flags" 12
|
||||
SSNS Flags, see \fIenum nbft_ssns_flags\fP.
|
||||
.IP "trtype" 12
|
||||
Transport Type, see \fIenum nbft_trtype\fP.
|
||||
.IP "trflags" 12
|
||||
Transport Specific Flags, see \fIenum nbft_ssns_trflags\fP.
|
||||
.IP "primary_discovery_ctrl_index" 12
|
||||
Primary Discovery Controller Index: The Discovery
|
||||
Descriptor Index field of the Discovery Descriptor
|
||||
(see \fIstruct nbft_discovery\fP) that is associated with
|
||||
this SSNS Descriptor. If a Discovery controller was
|
||||
used to establish this record this value shall
|
||||
be set to a non-zero value. If this namespace was
|
||||
associated with multiple Discovery controllers,
|
||||
those Discovery controllers shall have records
|
||||
in the Discovery Descriptor to facilitate multi-path
|
||||
rediscovery as required. If no Discovery controller
|
||||
was utilized to inform this namespace record,
|
||||
this field shall be cleared to 0h.
|
||||
.IP "reserved1" 12
|
||||
Reserved.
|
||||
.IP "subsys_traddr_obj" 12
|
||||
Subsystem Transport Address Heap Object Reference:
|
||||
This field indicates the location and size of a heap
|
||||
object containing the Subsystem Transport Address.
|
||||
For IP based transports types, shall be an IP Address.
|
||||
.IP "subsys_trsvcid_obj" 12
|
||||
Subsystem Transport Service Identifier Heap Object Reference:
|
||||
This field indicates the location and size of a heap
|
||||
object containing an array of bytes indicating
|
||||
the Subsystem Transport Service Identifier.
|
||||
See \fIenum nbft_trtype\fP.
|
||||
.IP "subsys_port_id" 12
|
||||
Subsystem Port ID: Port in the NVM subsystem
|
||||
associated with this transport address used by
|
||||
the pre-OS driver.
|
||||
.IP "nsid" 12
|
||||
Namespace ID: This field indicates the namespace
|
||||
identifier (NSID) of the namespace indicated by
|
||||
this descriptor. This field shall be cleared to 0h
|
||||
if not specified by the user. If this value is cleared
|
||||
to 0h, then consumers of the NBFT shall rely
|
||||
on the NID.
|
||||
.IP "nidt" 12
|
||||
Namespace Identifier Type (NIDT): This field
|
||||
contains the value of the Namespace Identifier Type (NIDT)
|
||||
field in the Namespace Identification Descriptor
|
||||
for the namespace indicated by this descriptor.
|
||||
If a namespace supports multiple NIDT entries
|
||||
for uniqueness, the order of preference is NIDT field
|
||||
value of 3h (i.e., UUID) before 2h (i.e., NSGUID),
|
||||
and 2h before 1h (i.e., EUI-64).
|
||||
.IP "nid" 12
|
||||
Namespace Identifier (NID): This field contains
|
||||
the value of the Namespace Identifier (NID) field
|
||||
in the Namespace Identification Descriptor for
|
||||
the namespace indicated by this descriptor.
|
||||
.IP "security_desc_index" 12
|
||||
Security Profile Descriptor Index: If the Use Security
|
||||
Flag bit in the SSNS Flags field is set to 1h, then
|
||||
this field indicates the value of the Security Profile
|
||||
Descriptor Index field of the Security Profile
|
||||
Descriptor (see \fIstruct nbft_security\fP) associated
|
||||
with this namespace. If the Use Security Flag bit
|
||||
is cleared to 0h, then no Security Profile Descriptor
|
||||
is associated with this namespace and this field
|
||||
is reserved.
|
||||
.IP "primary_hfi_desc_index" 12
|
||||
Primary HFI Descriptor Index: This field indicates
|
||||
the value of the HFI Descriptor Index field of the
|
||||
HFI Descriptor (see \fIstruct nbft_hfi\fP) for the
|
||||
interface associated with this namespace. If multiple
|
||||
HFIs are associated with this record, subsequent
|
||||
interfaces should be populated in the Secondary
|
||||
HFI Associations field.
|
||||
.IP "reserved2" 12
|
||||
Reserved.
|
||||
.IP "secondary_hfi_assoc_obj" 12
|
||||
Secondary HFI Associations Heap Object Reference:
|
||||
If this field is set to a non-zero value, then
|
||||
this field indicates an array of bytes, in which
|
||||
each byte contains the value of the HFI Descriptor
|
||||
Index field of an HFI Descriptor in the HFI Descriptor
|
||||
List. If this field is cleared to 0h, then no
|
||||
secondary HFI associations are specified.
|
||||
.IP "subsys_ns_nqn_obj" 12
|
||||
Subsystem and Namespace NQN Heap Object Reference:
|
||||
This field indicates the location and size of
|
||||
a heap object containing the Subsystem and Namespace NQN.
|
||||
.IP "ssns_extended_info_desc_obj" 12
|
||||
SSNS Extended Information Descriptor Heap Object
|
||||
Reference: If the SSNS Extended Info In-use Flag
|
||||
bit is set to 1h, then this field indicates the
|
||||
offset in bytes of a heap object containing an
|
||||
SSNS Extended Information Descriptor
|
||||
(see \fIstruct nbft_ssns_ext_info\fP) heap object
|
||||
from byte offset 0h of the NBFT Table Header.
|
||||
If the SSNS Extended Info In-use Flag bit is cleared
|
||||
to 0h, then this field is reserved.
|
||||
.IP "reserved3" 12
|
||||
Reserved.
|
55
doc/man/nbft_ssns_ext_info.2
Normal file
55
doc/man/nbft_ssns_ext_info.2
Normal file
|
@ -0,0 +1,55 @@
|
|||
.TH "libnvme" 9 "struct nbft_ssns_ext_info" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nbft_ssns_ext_info \- Subsystem and Namespace Extended Information Descriptor (Figure 19)
|
||||
.SH SYNOPSIS
|
||||
struct nbft_ssns_ext_info {
|
||||
.br
|
||||
.BI " __u8 structure_id;"
|
||||
.br
|
||||
.BI " __u8 version;"
|
||||
.br
|
||||
.BI " __le16 ssns_index;"
|
||||
.br
|
||||
.BI " __le32 flags;"
|
||||
.br
|
||||
.BI " __le16 cntlid;"
|
||||
.br
|
||||
.BI " __le16 asqsz;"
|
||||
.br
|
||||
.BI " struct nbft_heap_obj dhcp_root_path_str_obj;"
|
||||
.br
|
||||
.BI "
|
||||
};
|
||||
.br
|
||||
|
||||
.SH Members
|
||||
.IP "structure_id" 12
|
||||
Structure ID: This field shall be set to 9h
|
||||
(i.e., SSNS Extended Info; #NBFT_DESC_SSNS_EXT_INFO).
|
||||
.IP "version" 12
|
||||
Version: This field shall be set to 1h.
|
||||
.IP "ssns_index" 12
|
||||
SSNS Descriptor Index: This field indicates the value
|
||||
of the SSNS Descriptor Index field of the Subsystem
|
||||
and Namespace Descriptor (see \fIstruct nbft_ssns\fP) whose
|
||||
SSNS Extended Information Descriptor Heap Object
|
||||
Reference field indicates this descriptor.
|
||||
.IP "flags" 12
|
||||
Flags, see \fIenum nbft_ssns_ext_info_flags\fP.
|
||||
.IP "cntlid" 12
|
||||
Controller ID: The controller identifier of the first
|
||||
controller associated with the Admin Queue by the driver.
|
||||
If a controller identifier is not administratively
|
||||
specified or direct configuration is not supported
|
||||
by the driver, then this field shall be cleared to 0h.
|
||||
.IP "asqsz" 12
|
||||
Admin Submission Queue Size (ASQSZ): The Admin Submission
|
||||
Queue Size utilized for the respective SSNS by the driver.
|
||||
.IP "dhcp_root_path_str_obj" 12
|
||||
DHCP Root Path String Heap Object Reference: If the
|
||||
SSNS DHCP Root Path Override (#NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE)
|
||||
flag bit is set to 1h, then this field indicates
|
||||
the offset in bytes of a heap object containing
|
||||
an DHCP Root Path String used by the driver. If the
|
||||
SNSS DHCP Root Path Override flag bit is cleared to 0h,
|
||||
then this field is reserved.
|
25
doc/man/nbft_ssns_ext_info_flags.2
Normal file
25
doc/man/nbft_ssns_ext_info_flags.2
Normal file
|
@ -0,0 +1,25 @@
|
|||
.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_ssns_ext_info_flags \- Subsystem and Namespace Extended Information Descriptor Flags
|
||||
.SH SYNOPSIS
|
||||
enum nbft_ssns_ext_info_flags {
|
||||
.br
|
||||
.BI " NBFT_SSNS_EXT_INFO_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_SSNS_EXT_INFO_VALID" 12
|
||||
Descriptor Valid: If set to 1h, then this descriptor
|
||||
is valid. If cleared to 0h, then this descriptor
|
||||
is reserved.
|
||||
.IP "NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ" 12
|
||||
Administrative ASQSZ: If set to 1h, then the value
|
||||
of the ASQSZ field was provided by administrative
|
||||
configuration for this SSNS record. If cleared
|
||||
to 0h, then the value of the ASQSZ field was
|
||||
either obtained by discovery or assumed
|
||||
by the driver.
|
121
doc/man/nbft_ssns_flags.2
Normal file
121
doc/man/nbft_ssns_flags.2
Normal file
|
@ -0,0 +1,121 @@
|
|||
.TH "libnvme" 9 "enum nbft_ssns_flags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_ssns_flags \- Subsystem and Namespace Specific Flags Field (Figure 16)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_ssns_flags {
|
||||
.br
|
||||
.BI " NBFT_SSNS_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_NON_BOOTABLE_ENTRY"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_USE_SECURITY_FIELD"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_EXTENDED_INFO_IN_USE"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_SEPARATE_DISCOVERY_CTRL"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_DISCOVERED_NAMESPACE"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_MASK"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_SSNS_VALID" 12
|
||||
Descriptor Valid: If set to 1h, then this descriptor
|
||||
is valid. If cleared to 0h, then this descriptor
|
||||
is not valid. A host that supports NVMe-oF Boot,
|
||||
but does not currently have a remote Subsystem
|
||||
and Namespace assigned may clear this bit to 0h.
|
||||
.IP "NBFT_SSNS_NON_BOOTABLE_ENTRY" 12
|
||||
Non-bootable Entry Flag: If set to 1h, this flag
|
||||
indicates that this SSNS Descriptor contains
|
||||
a namespace of administrative purpose to the boot
|
||||
process, but the pre-OS may not have established
|
||||
connectivity to or evaluated the contents of this
|
||||
Descriptor. Such namespaces may contain supplemental
|
||||
data deemed relevant by the Administrator as part
|
||||
of the pre-OS to OS hand off. This may include
|
||||
properties such as a UEFI device path that may
|
||||
not have been created for this namespace. This means
|
||||
an OS runtime may still require the contents
|
||||
of such a namespace to complete later stages
|
||||
of boot. If cleared to 0h, then this namespace did
|
||||
not have any special administrative intent.
|
||||
.IP "NBFT_SSNS_USE_SECURITY_FIELD" 12
|
||||
Use Security Flag: If set to 1h, then there is
|
||||
a Security Profile Descriptor associated with this
|
||||
SSNS record and the Security Profile Descriptor Index
|
||||
field is valid. If cleared to 0h, then there is
|
||||
no Security Profile Descriptor associated with this
|
||||
SSNS record and the Security Profile Descriptor Index
|
||||
field is not valid.
|
||||
.IP "NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE" 12
|
||||
DHCP Root-Path Override Flag: If set to 1h, then
|
||||
this SSNS descriptor was populated by consuming
|
||||
the DHCP Root-Path on this interface. If cleared
|
||||
to 0h, then the DHCP Root-Path was not used
|
||||
in populating the SSNS descriptor.
|
||||
.IP "NBFT_SSNS_EXTENDED_INFO_IN_USE" 12
|
||||
SSNS Extended Info In-use Flag: If set to 1h,
|
||||
then the SSNS Extended Information Offset field
|
||||
and the SSNS Extended Information Length field
|
||||
are valid. This flag, if set to 1h, indicates
|
||||
that a Subsystem and Namespace Extended Information
|
||||
Descriptor corresponding to this descriptor is present.
|
||||
.IP "NBFT_SSNS_SEPARATE_DISCOVERY_CTRL" 12
|
||||
Separate Discovery Controller Flag: If set to 1h,
|
||||
then the Discovery controller associated with
|
||||
this volume is on a different transport address
|
||||
than the specified in the Subsystem Transport
|
||||
Address Heap Object Reference. If cleared to 0h,
|
||||
then the Discovery controller is the same as the
|
||||
Subsystem Transport Address Heap Object Reference.
|
||||
.IP "NBFT_SSNS_DISCOVERED_NAMESPACE" 12
|
||||
Discovered Namespace Flag: If set to 1h, then
|
||||
this namespace was acquired through discovery.
|
||||
If cleared to 0h, then this namespace was
|
||||
explicitly configured in the system.
|
||||
.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_MASK" 12
|
||||
Mask to get Unavailable Namespace Flag: This
|
||||
field indicates the availability of the namespace
|
||||
at a specific point in time. Such use is only
|
||||
a hint and its use does not guarantee the availability
|
||||
of that referenced namespace at any future point in time.
|
||||
.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND" 12
|
||||
Not Indicated by Driver: No information is provided.
|
||||
.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL" 12
|
||||
Available: A referenced namespace described by this
|
||||
flag was previously accessible by the pre-OS driver.
|
||||
.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL" 12
|
||||
Unavailable: This namespace was administratively
|
||||
configured but unattempted, unavailable or
|
||||
inaccessible when establishing connectivity
|
||||
by the pre-OS driver.
|
44
doc/man/nbft_ssns_trflags.2
Normal file
44
doc/man/nbft_ssns_trflags.2
Normal file
|
@ -0,0 +1,44 @@
|
|||
.TH "libnvme" 9 "enum nbft_ssns_trflags" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_ssns_trflags \- SSNS Transport Specific Flags Field (Figure 17)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_ssns_trflags {
|
||||
.br
|
||||
.BI " NBFT_SSNS_TRFLAG_VALID"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_PDU_HEADER_DIGEST"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " NBFT_SSNS_DATA_DIGEST"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_SSNS_TRFLAG_VALID" 12
|
||||
Transport Specific Flags in Use: If set to 1h, then
|
||||
this descriptor is valid. If cleared to 0h, then
|
||||
this descriptor is not valid.
|
||||
.IP "NBFT_SSNS_PDU_HEADER_DIGEST" 12
|
||||
PDU Header Digest (HDGST) Flag: If set to 1h, then
|
||||
the host or administrator required the connection
|
||||
described by this Subsystem and Namespace Descriptor
|
||||
to use the NVM Header Digest Enabled. A consumer
|
||||
of this information should attempt to use NVM Header
|
||||
Digest when recreating this connection if enabled.
|
||||
If cleared to 0h, then the host or administrator
|
||||
did not require the connection described by this
|
||||
Subsystem and Namespace Descriptor to use the
|
||||
NVM Header Digest Enabled.
|
||||
.IP "NBFT_SSNS_DATA_DIGEST" 12
|
||||
Data Digest (DDGST) Flag: If set to 1h, then
|
||||
the host or administrator required the connection
|
||||
described by this Subsystem and Namespace Descriptor
|
||||
to use the NVM Data Digest Enabled. If cleared
|
||||
to 0h, then the host or administrator did not
|
||||
require the connection described by this Subsystem
|
||||
and Namespace Descriptor to use the NVM Data Digest
|
||||
Enabled. A consumer of this field should attempt
|
||||
to use NVM Data Digest when recreating this
|
||||
connection if enabled.
|
12
doc/man/nbft_trtype.2
Normal file
12
doc/man/nbft_trtype.2
Normal file
|
@ -0,0 +1,12 @@
|
|||
.TH "libnvme" 9 "enum nbft_trtype" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nbft_trtype \- NBFT Interface Transport Types (Figure 7)
|
||||
.SH SYNOPSIS
|
||||
enum nbft_trtype {
|
||||
.br
|
||||
.BI " NBFT_TRTYPE_TCP"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
.IP "NBFT_TRTYPE_TCP" 12
|
||||
NVMe/TCP (802.3 + TCP/IP). String Designator "tcp".
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_admin_opcode" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_admin_opcode" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_admin_opcode \- Known NVMe admin opcodes
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_admin_passthru \- Submit an nvme passthrough command
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ae_info_css_nvm \- Asynchronous Event Information - I/O Command Specific Status
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ae_info_error" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ae_info_error" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ae_info_error \- Asynchronous Event Information - Error Status
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ae_info_notice" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ae_info_notice" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ae_info_notice \- Asynchronous Event Information - Notice
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ae_info_smart" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ae_info_smart" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ae_info_smart \- Asynchronous Event Information - SMART / Health Status
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ae_type" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ae_type" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ae_type \- Asynchronous Event Type
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_aggregate_endurance_group_event \- Endurance Group Event Aggregate
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_aggregate_predictable_lat_event \- Predictable Latency Event Aggregate Log Page
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_ana_group_desc" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_ana_group_desc" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_ana_group_desc \- ANA Group Descriptor
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_ana_log" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_ana_log" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_ana_log \- Asymmetric Namespace Access Log
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_ana_state" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_ana_state" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_ana_state \- ANA Group Descriptor - Asymmetric Namespace Access State
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_apst_entry" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_apst_entry" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_apst_entry \- Autonomous Power State Transition
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_boot_partition" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_boot_partition" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_boot_partition \- Boot Partition Log
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_capacity_config_desc" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_capacity_config_desc" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_capacity_config_desc \- Capacity Configuration structure definitions
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_capacity_mgmt \- Capacity management command
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_change_ns_event" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_change_ns_event" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_change_ns_event \- Change Namespace Event Data
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_channel_config_desc" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_channel_config_desc" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_channel_config_desc \- Channel Configuration Descriptor
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_cmb_size" 9 "nvme_cmb_size" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_cmb_size" 9 "nvme_cmb_size" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_cmb_size \- Calculate size of the controller memory buffer
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_effects" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_effects" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_effects \- Commands Supported and Effects
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_cmd_effects_log" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_cmd_effects_log" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_cmd_effects_log \- Commands Supported and Effects Log
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_format_mset" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_format_mset" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_format_mset \- Format NVM - Metadata Settings
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_format_pi" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_format_pi" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_format_pi \- Format NVM - Protection Information
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_format_pil" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_format_pil" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_format_pil \- Format NVM - Protection Information Location
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_format_ses" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_format_ses" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_cmd_get_log_telemetry_host_lsp \- Telemetry Host-Initiated log specific field
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_compare" 9 "nvme_compare" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_compare" 9 "nvme_compare" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_compare \- Submit an nvme user compare command
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_connect_err" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_connect_err" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_connect_err \- nvme connect error codes
|
||||
.SH SYNOPSIS
|
||||
|
@ -73,6 +73,14 @@ enum nvme_connect_err {
|
|||
.br
|
||||
.br
|
||||
.BI " ENVME_CONNECT_CONNREFUSED"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " ENVME_CONNECT_ADDRNOTAVAIL"
|
||||
,
|
||||
.br
|
||||
.br
|
||||
.BI " ENVME_CONNECT_IGNORED"
|
||||
|
||||
};
|
||||
.SH Constants
|
||||
|
@ -112,3 +120,7 @@ invalid interface
|
|||
not supported
|
||||
.IP "ENVME_CONNECT_CONNREFUSED" 12
|
||||
connection refused
|
||||
.IP "ENVME_CONNECT_ADDRNOTAVAIL" 12
|
||||
cannot assign requested address
|
||||
.IP "ENVME_CONNECT_IGNORED" 12
|
||||
connect attempt is ignored due to configuration
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_constants" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_constants" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_constants \- A place to stash various constant nvme values
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_copy" 9 "nvme_copy" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_copy" 9 "nvme_copy" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_copy \- Copy command
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_copy_range" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_copy_range" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_copy_range \- Copy - Source Range Entries Descriptor Format
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "struct nvme_copy_range_f1" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "struct nvme_copy_range_f1" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_create_ctrl \- Allocate an unconnected NVMe controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_create_root" 9 "nvme_create_root" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_create_root" 9 "nvme_create_root" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_create_root \- Initialize root object
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "libnvme" 9 "enum nvme_csi" "March 2023" "API Manual" LINUX
|
||||
.TH "libnvme" 9 "enum nvme_csi" "June 2023" "API Manual" LINUX
|
||||
.SH NAME
|
||||
enum nvme_csi \- Defined command set indicators
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_first_ns \- Start namespace iterator
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_first_path \- Start path iterator
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_for_each_ns \- Traverse namespaces
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_for_each_ns_safe \- Traverse namespaces
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_for_each_path \- Traverse paths
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_for_each_path_safe \- Traverse paths
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_address \- Address string of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_config \- Fabrics configuration of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_dhchap_host_key \- Return host key
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_dhchap_key \- Return controller key
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_fd \- Get associated file descriptor
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_firmware \- Firmware string of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_host_iface \- Host interface name of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_host_traddr \- Host transport address of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_model \- Model of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_name \- sysfs name of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_numa_node \- NUMA node of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
12
doc/man/nvme_ctrl_get_phy_slot.2
Normal file
12
doc/man/nvme_ctrl_get_phy_slot.2
Normal file
|
@ -0,0 +1,12 @@
|
|||
.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_phy_slot \- PCI physical slot number of a controller
|
||||
.SH SYNOPSIS
|
||||
.B "const char *" nvme_ctrl_get_phy_slot
|
||||
.BI "(nvme_ctrl_t c " ");"
|
||||
.SH ARGUMENTS
|
||||
.IP "c" 12
|
||||
Controller instance
|
||||
.SH "RETURN"
|
||||
PCI physical slot number of \fIc\fP or empty string if slot
|
||||
number is not present.
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_queue_count \- Queue count of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_serial \- Serial number of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "March 2023" "libnvme API manual" LINUX
|
||||
.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "June 2023" "libnvme API manual" LINUX
|
||||
.SH NAME
|
||||
nvme_ctrl_get_sqsize \- SQ size of a controller
|
||||
.SH SYNOPSIS
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue