Skip to content

docs(mayastor): spell out the nvmf iface value syntax - #689

Open
krishnaGajabi wants to merge 1 commit into
mainfrom
docs/nvmf-iface-syntax
Open

krishnaGajabi wants to merge 1 commit into
mainfrom
docs/nvmf-iface-syntax

Conversation

@krishnaGajabi

@krishnaGajabi krishnaGajabi commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Addresses the io_engine.target.nvmf.iface finding reported in openebs/openebs#4059:

The chart comment says "ip, mac, name or subnet", but an unprefixed CIDR is treated
as an interface name and io-engine panics with Network interface matching '<cidr>' not found. subnet:<cidr> works.

The RDMA guide is the only page under docs/main that documents this value, and it
describes it only as an interface name — which is right for RDMA, but it is also where
someone setting iface for any other reason ends up.

detect_nvmf_tgt_iface_ip splits the value on the first colon and falls back to
("name", iface) when there is none, so a prefix is required for anything that is not
a bare interface name. The Helm chart renders the value once into the io-engine
DaemonSet, so whatever is set has to resolve on every node, which leaves two usable
forms:

Value Result
eth0, name:eth0 matched by name
subnet:10.0.0.0/24 matched by subnet, the /bits suffix is required
10.0.0.0/24 looked up as a name, Network interface matching '10.0.0.0/24' not found

One paragraph added to the Interface Validation prerequisite. The existing RDMA
guidance is kept: for RDMA the interface should be a netdev an RDMA device is bound to.

docs/main only, as requested. The matching chart-side fix is
openebs/mayastor-extensions#1117.

@krishnaGajabi
krishnaGajabi force-pushed the docs/nvmf-iface-syntax branch from 3809501 to 7e15949 Compare October 29, 2026 09:19
The RDMA guide is the only page that documents io_engine.target.nvmf.iface,
and it describes the value only as an interface name. The value carries a
prefix naming what it matches, and a value with no prefix is matched as an
interface name -- so an unprefixed CIDR matches nothing and the io-engine
fails to start.

Give the two forms that work for a DaemonSet, name: and subnet:, note that
the value is shared by every io-engine pod and so has to resolve on every
node, and keep the RDMA-specific guidance that the interface should be a
netdev an RDMA device is bound to.

Signed-off-by: krishnaGajabi <gajbikrishna23@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant