[PATCH rfc 0/6] support traddr as dns names for ip based transports

Hannes Reinecke hare at suse.de
Thu Aug 10 06:34:06 PDT 2023


On 7/24/23 11:20, Sagi Grimberg wrote:
> Currently nvme-cli is able to resolve an ip address from a dns name if
> traddr argument was given as a dns name, so it does that and passes down
> to the kernel the resolved ip address.
> 
> However, if the dns resolution changes over time, the kernel will not
> be able to reconnect because it has a stale ip address. While this is
> not a real use case for nvme subsystems, it could be a valid use-case
> for discovery controllers, where the resolution is made from a dns
> name that may load-balance/failover over multiple endpoints.
> 
> The last patch (7/6) is for libnvme to pass down the traddr as a dns
> name if the kernel supports dns queries.
> 
> The inspiration was taken from the nfs client that does this for
> redirects or locations discovery.
> 
> It is an rfc, so feedback is welcome.
> 
> Sagi Grimberg (6):
>    nvme-fabrics: add helper to resolve ipv4/ipv6 or dns name
>    nvme-tcp: use nvmf_resolve_address helper
>    nvme-tcp: re-resolve traddr upon reconnect in case it is a dns name
>    nvme-rdma: use nvmf_resolve_address helper
>    nvme-rdma: re-resolve traddr upon reconnect in case it is a dns name
>    nvme-fabrics: expose support for traddr as dns names to userspace
> 
>   drivers/nvme/host/fabrics.c | 29 +++++++++++++++++++++++++++++
>   drivers/nvme/host/fabrics.h |  2 ++
>   drivers/nvme/host/rdma.c    | 21 +++++++++++++--------
>   drivers/nvme/host/tcp.c     | 21 +++++++++++++--------
>   4 files changed, 57 insertions(+), 16 deletions(-)
> 
In principle looks good, but what about target support?

Cheers,

Hannes




More information about the Linux-nvme mailing list