@hreinecke reports:
Doing a discovery on FC works:
# nvme discover --transport=fc --host-traddr=nn-0x200000109bec9d94:pn-0x100000109bec9d94 --traddr=nn-0x200070b7e422ae87:pn-0x100070b7e422ae87
Discovery Log Number of Records 2, Generation counter 6
=====Discovery Log Entry 0======
trtype: fc
adrfam: fibre-channel
subtype: current discovery subsystem
treq: not specified, sq flow control disable supported
portid: 1
trsvcid:
subnqn: nqn.2014-08.org.nvmexpress.discovery
traddr: nn-0x200070b7e422ae87,pn-0x100070b7e422ae87
eflags: none
=====Discovery Log Entry 1======
trtype: fc
adrfam: fibre-channel
subtype: nvme subsystem
treq: not specified, sq flow control disable supported
portid: 1
trsvcid:
subnqn: nqn.blktests-1
traddr: nn-0x200070b7e422ae87,pn-0x100070b7e422ae87
eflags: none
But when calling 'connect-all', the 'traddr' string from the discovery log page is used as-is for the 'connect' command. The kernel, however, expects the 'traddr' string to be of the format 'nn-0x:pn-0x' (note the colon), and consequently the in-kernel parser fails with the error message:
nvme_fabrics: unknown parameter or missing value 'pn-0x100070b7e422ae87' in ctrl creation request
I also noticed that the output of nvme list -v prints:
traddr=nn-0x58ccf090c92006da:pn-0x58ccf091492806da,host_traddr=nn-0x20000024ff7fa448:pn-0x21000024ff7fa448
I suppose s/host_traddr/host-traddr/ would be better.
@hreinecke reports:
I also noticed that the output of
nvme list -vprints:traddr=nn-0x58ccf090c92006da:pn-0x58ccf091492806da,host_traddr=nn-0x20000024ff7fa448:pn-0x21000024ff7fa448I suppose
s/host_traddr/host-traddr/would be better.