Skip to content

FC address format inconsitency #3173

@dwsuse

Description

@dwsuse

@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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions