[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