Skip to contentSkip to conversation

srp_daemon: print maximum initiator to target IU size

PATCH Superseded Honggang LI 3 participants 7 messages Sep 16, 2019 – Sep 24, 2019 InfiniBand

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 srp_daemon: print maximum initiator to target IU size

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
 srp_daemon/srp_daemon.c | 2 ++
 1 file changed, 2 insertions(+)
srp_daemon/srp_daemon.c +2 -0
index 337b21c7..90533c77 100644
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
 			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
 			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
 			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
 			pr_human("        ID:        %s\n", target->ioc_prof.id);
 			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);
 
Signature · 1 line
2.21.0
#1 lore raw
Quoted 20 lines · Honggang LI

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
  srp_daemon/srp_daemon.c | 2 ++
  1 file changed, 2 insertions(+)
srp_daemon/srp_daemon.c +0 -0
index 337b21c7..90533c77 100644

srp_daemon/srp_daemon.c static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid, · line 1028

Quoted 7 lines
srp_daemon/srp_daemon.c +2 -0
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
  			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
  			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
  			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
  			pr_human("        ID:        %s\n", target->ioc_prof.id);
  			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);

How about using the terminology from the InfiniBand Architecture Specification? This is what I found in release 1.3, table 306:

"Maximum size of Send Messages in bytes"

Thanks,

Bart.

#2 lore raw
Quoted 16 lines · Bart Van Assche
Quoted 15 lines · Honggang LI

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
  srp_daemon/srp_daemon.c | 2 ++
  1 file changed, 2 insertions(+)
Quoted 14 lines

srp_daemon/srp_daemon.c static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid, · line 1028

Quoted 12 lines
srp_daemon/srp_daemon.c +2 -0
index 337b21c7..90533c77 100644
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
  			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
  			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
  			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
  			pr_human("        ID:        %s\n", target->ioc_prof.id);
  			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);

How about using the terminology from the InfiniBand Architecture

As this is srp specific, so I suggest to use the terminology from srp specification 'srp2r06'.

Table B.7 — IOControllerProfile attributes for SRP target ports
----------------------------------------------------------------
| Field | SRP requirement |
----------------------------------------------------------------
|(skip many lines)..... |
----------------------------------------------------------------
|Send Message Size |MAXIMUM INITIATOR TO TARGET IU LENGTH |
----------------------------------------------------------------

Quoted 7 lines

Specification? This is what I found in release 1.3, table 306:

"Maximum size of Send Messages in bytes"

Thanks,

Bart.

#3 lore raw
Quoted 35 lines · Honggang LI
Quoted 16 lines · Bart Van Assche
Quoted 15 lines · Honggang LI

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
   srp_daemon/srp_daemon.c | 2 ++
   1 file changed, 2 insertions(+)
Quoted 14 lines

srp_daemon/srp_daemon.c static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid, · line 1028

Quoted 12 lines
srp_daemon/srp_daemon.c +2 -0
index 337b21c7..90533c77 100644
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
   			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
   			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
   			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
   			pr_human("        ID:        %s\n", target->ioc_prof.id);
   			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);

How about using the terminology from the InfiniBand Architecture

As this is srp specific, so I suggest to use the terminology from srp specification 'srp2r06'.

Quoted 12 lines

Table B.7 — IOControllerProfile attributes for SRP target ports
----------------------------------------------------------------
| Field | SRP requirement |
----------------------------------------------------------------
|(skip many lines)..... |
----------------------------------------------------------------
|Send Message Size |MAXIMUM INITIATOR TO TARGET IU LENGTH |
----------------------------------------------------------------

Quoted 3 lines

Specification? This is what I found in release 1.3, table 306:

"Maximum size of Send Messages in bytes"

I don't have a strong opinion about which description to use. The latter may be easier to comprehend though. I'm not sure whether every SRP user knows what an SRP "IU" is ...

Bart.

#4 lore raw
Quoted 45 lines · Bart Van Assche
Quoted 44 lines · Honggang LI
Quoted 16 lines · Bart Van Assche
Quoted 15 lines · Honggang LI

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
   srp_daemon/srp_daemon.c | 2 ++
   1 file changed, 2 insertions(+)
Quoted 14 lines

srp_daemon/srp_daemon.c static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid, · line 1028

Quoted 12 lines
srp_daemon/srp_daemon.c +2 -0
index 337b21c7..90533c77 100644
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
   			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
   			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
   			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
   			pr_human("        ID:        %s\n", target->ioc_prof.id);
   			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);

How about using the terminology from the InfiniBand Architecture

As this is srp specific, so I suggest to use the terminology from srp specification 'srp2r06'.

Table B.7 — IOControllerProfile attributes for SRP target ports
----------------------------------------------------------------
| Field | SRP requirement |
----------------------------------------------------------------
|(skip many lines)..... |
----------------------------------------------------------------
|Send Message Size |MAXIMUM INITIATOR TO TARGET IU LENGTH |
----------------------------------------------------------------

Quoted 7 lines
Quoted 3 lines
Quoted 3 lines

Specification? This is what I found in release 1.3, table 306:

"Maximum size of Send Messages in bytes"

I don't have a strong opinion about which description to use. The latter may be easier to comprehend though. I'm not sure whether every SRP user knows what an SRP "IU" is ...

How about replacing "IU" with "information unit"?

+ pr_human(" Maximum initiator to target information unit size: %d\n",
+ be32toh(target->ioc_prof.send_size));

If you want to use "Maximum size of Send Messages in bytes", just let me know, I will send a new patch to use that.

thanks

#5 lore raw
Quoted 60 lines · Honggang LI
Quoted 45 lines · Bart Van Assche
Quoted 44 lines · Honggang LI
Quoted 16 lines · Bart Van Assche
Quoted 15 lines · Honggang LI

From: Honggang Li <[email protected]>

The 'Send Message Size' field of IOControllerProfile attributes contains the maximum initiator to target IU size.

When there is something wrong with SRP login to a third party SRP target, whose ib_srpt parameters can't be collected with ordinary method, dump the 'Send Message Size' may help us to diagnose the problem.

---
   srp_daemon/srp_daemon.c | 2 ++
   1 file changed, 2 insertions(+)
Quoted 14 lines

srp_daemon/srp_daemon.c static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid, · line 1028

Quoted 12 lines
srp_daemon/srp_daemon.c +2 -0
index 337b21c7..90533c77 100644
@@ -1022,6 +1022,8 @@ static int do_port(struct resources *res, uint16_t pkey, uint16_t dlid,
   			pr_human("        vendor ID: %06x\n", be32toh(target->ioc_prof.vendor_id) >> 8);
   			pr_human("        device ID: %06x\n", be32toh(target->ioc_prof.device_id));
   			pr_human("        IO class : %04hx\n", be16toh(target->ioc_prof.io_class));
+			pr_human("        Maximum initiator to target IU size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
   			pr_human("        ID:        %s\n", target->ioc_prof.id);
   			pr_human("        service entries: %d\n", target->ioc_prof.service_entries);

How about using the terminology from the InfiniBand Architecture

As this is srp specific, so I suggest to use the terminology from srp specification 'srp2r06'.

Table B.7 — IOControllerProfile attributes for SRP target ports
----------------------------------------------------------------
| Field | SRP requirement |
----------------------------------------------------------------
|(skip many lines)..... |
----------------------------------------------------------------
|Send Message Size |MAXIMUM INITIATOR TO TARGET IU LENGTH |
----------------------------------------------------------------

Quoted 7 lines
Quoted 3 lines
Quoted 3 lines

Specification? This is what I found in release 1.3, table 306:

"Maximum size of Send Messages in bytes"

I don't have a strong opinion about which description to use. The latter may be easier to comprehend though. I'm not sure whether every SRP user knows what an SRP "IU" is ...

How about replacing "IU" with "information unit"?

(quoted diff) +2 -0
+			pr_human("        Maximum initiator to target information unit size: %d\n",
+				 be32toh(target->ioc_prof.send_size));
Quoted 2 lines

If you want to use "Maximum size of Send Messages in bytes", just let me know, I will send a new patch to use that.

What is the resolution?

Thanks

Quoted 3 lines

thanks

#6 lore raw
In reply to Honggang LI
Quoted 2 lines · Honggang LI

If you want to use "Maximum size of Send Messages in bytes", just let me know, I will send a new patch to use that.

I think that description is short and easy to read.

Thanks,

Bart.