Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP2:Update
nvme-cli
0022-fabrics-add-default-port-number-for-NVMe-T...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0022-fabrics-add-default-port-number-for-NVMe-TCP-I-O-con.patch of Package nvme-cli
From: Martin George <marting@netapp.com> Date: Fri, 6 Aug 2021 17:35:20 +0530 Subject: fabrics: add default port number for NVMe/TCP I/O controllers References: bsc#1189195 bsc#1187858 Git-commit: 362c90f364a8e96a2551e83e9fc5746bf4aed859 As per section 7.4.9.3 "Transport Service Identifier" of the NVMe over Fabrics 1.1 specification, the default IANA port number for a NVMe/TCP discovery controller is 8009. But at the same time, it also clearly states that NVMe/TCP I/O controllers should not use TCP port number 8009, but may instead use 4420 as the default here. So make sure to fill these values appropriately, and pass it down. Signed-off-by: Martin George <marting@netapp.com> --- fabrics.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) --- a/fabrics.c +++ b/fabrics.c @@ -905,11 +905,16 @@ static int build_options(char *argstr, i return 0; } -static void discovery_trsvcid(struct config *cfg) +static void discovery_trsvcid(struct config *cfg, bool discover) { if (!strcmp(cfg->transport, "tcp")) { - /* Default port for NVMe/TCP discovery controllers */ - cfg->trsvcid = __stringify(NVME_DISC_IP_PORT); + if (discover) { + /* Default port for NVMe/TCP discovery controllers */ + cfg->trsvcid = __stringify(NVME_DISC_IP_PORT); + } else { + /* Default port for NVMe/TCP io controllers */ + cfg->trsvcid = __stringify(NVME_RDMA_IP_PORT); + } } else if (!strcmp(cfg->transport, "rdma")) { /* Default port for NVMe/RDMA controllers */ cfg->trsvcid = __stringify(NVME_RDMA_IP_PORT); @@ -1292,7 +1297,7 @@ static int discover_from_conf_file(const set_discovery_kato(&cfg); if (!cfg.trsvcid) - discovery_trsvcid(&cfg); + discovery_trsvcid(&cfg, true); err = build_options(argstr, BUF_SIZE, true); if (err) { @@ -1361,7 +1366,7 @@ int discover(const char *desc, int argc, set_discovery_kato(&cfg); if (!cfg.trsvcid) - discovery_trsvcid(&cfg); + discovery_trsvcid(&cfg, true); ret = build_options(argstr, BUF_SIZE, true); if (ret) @@ -1407,6 +1412,9 @@ int connect(const char *desc, int argc, if (ret) goto out; + if (!cfg.trsvcid) + discovery_trsvcid(&cfg, false); + ret = build_options(argstr, BUF_SIZE, false); if (ret) goto out;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor