diff options
| author | Michael Brown | 2009-07-09 16:52:04 +0200 |
|---|---|---|
| committer | Michael Brown | 2009-07-18 00:06:34 +0200 |
| commit | f1d92fa8865c281cb7da31f2e3b62ece3f2f9ca1 (patch) | |
| tree | d07c05965bd108d02d3c1b6fd1ac1574f70200d5 /src/include | |
| parent | [infiniband] Always create an SMA and a GMA (diff) | |
| download | ipxe-f1d92fa8865c281cb7da31f2e3b62ece3f2f9ca1.tar.gz ipxe-f1d92fa8865c281cb7da31f2e3b62ece3f2f9ca1.tar.xz ipxe-f1d92fa8865c281cb7da31f2e3b62ece3f2f9ca1.zip | |
[infiniband] Allow external QPN to differ from real QPN
Most IB hardware seems not to allow allocation of the genuine QPNs 0
and 1, so allow for the externally-visible QPN (as constructed and
parsed by ib_packet, where used) to differ from the real
hardware-allocated QPN.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/infiniband.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h index 9c1f57a08..dacb13e4b 100644 --- a/src/include/gpxe/infiniband.h +++ b/src/include/gpxe/infiniband.h @@ -96,8 +96,15 @@ struct ib_queue_pair { struct ib_device *ibdev; /** List of queue pairs on this Infiniband device */ struct list_head list; - /** Queue Pair Number */ + /** Queue pair number */ unsigned long qpn; + /** Externally-visible queue pair number + * + * This may differ from the real queue pair number (e.g. when + * the HCA cannot use the management QPNs 0 and 1 as hardware + * QPNs and needs to remap them). + */ + unsigned long ext_qpn; /** Queue pair type */ enum ib_queue_pair_type type; /** Queue key */ |
