[PATCH 3/7] nvmet-tcp: implement queue_peer_traddr()

Hannes Reinecke hare at suse.de
Wed Mar 20 23:56:14 PDT 2024


On 3/21/24 00:11, Sagi Grimberg wrote:
> 
> 
> On 20/03/2024 16:40, Hannes Reinecke wrote:
>> Implement callback to display the peer transport address.
> 
> s/peer/host
> 
Ok.

>> Signed-off-by: Hannes Reinecke <hare at kernel.org>
>> ---
>>   drivers/nvme/target/tcp.c | 13 +++++++++++++
>>   1 file changed, 13 insertions(+)
>>
>> diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c
>> index 4718d4d87a85..4b2cef897a66 100644
>> --- a/drivers/nvme/target/tcp.c
>> +++ b/drivers/nvme/target/tcp.c
>> @@ -2201,6 +2201,18 @@ static void nvmet_tcp_disc_port_addr(struct 
>> nvmet_req *req,
>>       }
>>   }
>> +static ssize_t nvmet_tcp_disc_peer_addr(struct nvmet_ctrl *ctrl,
>> +            struct nvmet_sq *sq, char *traddr, size_t traddr_len)
>> +{
>> +    struct nvmet_tcp_queue *queue =
>> +        container_of(sq, struct nvmet_tcp_queue, nvme_sq);
>> +
>> +    if (queue->sockaddr_peer.ss_family == AF_UNSPEC)
>> +        return -EINVAL;
>> +    return snprintf(traddr, traddr_len, "%pISc",
>> +            (struct sockaddr *)&queue->sockaddr_peer);
>> +}
>> +
>>   static const struct nvmet_fabrics_ops nvmet_tcp_ops = {
>>       .owner            = THIS_MODULE,
>>       .type            = NVMF_TRTYPE_TCP,
>> @@ -2211,6 +2223,7 @@ static const struct nvmet_fabrics_ops 
>> nvmet_tcp_ops = {
>>       .delete_ctrl        = nvmet_tcp_delete_ctrl,
>>       .install_queue        = nvmet_tcp_install_queue,
>>       .disc_traddr        = nvmet_tcp_disc_port_addr,
>> +    .queue_peertraddr    = nvmet_tcp_disc_peer_addr,
> 
> host_traddr, and it should really be per controller, and be taken from 
> the admin
> queue. Not sure how this would ever be different across queues in the 
> same ctrl

Okay, not a problem. Felt a bit odd in doing so, but okay.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare at suse.de                                +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich




More information about the Linux-nvme mailing list