[PATCH 3/4] nvme-fabrics: add tp8010 support
Belanger, Martin
Martin.Belanger at dell.com
Mon Jan 31 09:17:57 PST 2022
> Hi Martin.
>
> Properly speaking, registrations are sent to the CDC, not the DC.
>
> Correct?
>
> Can we please change this, everywhere, to be clear about when we are
> "talking" to the CDC (Centralized Discovery Controller) and when we are
> talking to the DC (Discovery Controller).
>
> /John
Hi John.
TP8010 originally intended for registration (DIM PDU) to be sent
to CDCs only. However, this was changed to include Direct Discovery
Controllers (DDC) as well. That's why I use DC and not CDC.
Also note that TP8010 introduces a new DCTYPE field in the response to
the Identify command, which is used to differentiate between a CDC and
a DDC. Legacy DCs that do not comply to TP8010 will have DCTYPE=0
(i.e. Discovery controller type is not reported). So, registration will not
be attempted for DCTYPE other than 1 (DDC) and 2 (CDC).
Here you will find the ratified version of TP8010:
https://nvmexpress.org/wp-content/uploads/NVM-Express-2.0-Ratified-TPs-01242022.zip
Martin
>
> On 1/25/22 09:59, Martin Belanger wrote:
> > +/**
> > + * nvme_get_adrfam() - Get address family for the address we're
> > +registering
> > + * with the DC. We retrieve this info from the socket itself. If we
> > +can't
> > + * get the source address from the socket, then we'll infer the
> > +address
> > + * family from the address of the DC since the DC address has the
> > +same
> > + * address family.
> > + *
> > + * @ctrl: Host NVMe controller instance maintaining the admin queue
> used to
> > + * submit the DIM command to the DC.
> > + *
> > + * Return: The address family of the source address associated with
> > +the
> > + * socket connected to the DC.
Internal Use - Confidential
More information about the Linux-nvme
mailing list