summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2009-07-17 23:50:33 +0200
committerMichael Brown2009-07-18 00:06:33 +0200
commit1f5c0239b4fc5dea895645397d5aaa3d4b95205a (patch)
tree0f4f5f50363702b601f3a7b966bc12a2a6797a22 /src/include
parent[infiniband] Provide ib_get_hca_info() as a commonly-available function (diff)
downloadipxe-1f5c0239b4fc5dea895645397d5aaa3d4b95205a.tar.gz
ipxe-1f5c0239b4fc5dea895645397d5aaa3d4b95205a.tar.xz
ipxe-1f5c0239b4fc5dea895645397d5aaa3d4b95205a.zip
[infiniband] Centralise assumption of 2048-byte payloads
IPoIB and the SMA have separate constants for the packet size to be used to I/O buffer allocations. Merge these into the single IB_MAX_PAYLOAD_SIZE constant. (Various other points in the Infiniband stack have hard-coded assumptions of a 2048-byte payload; we don't currently support variable MTUs.)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/ib_qset.h5
-rw-r--r--src/include/gpxe/ib_sma.h3
-rw-r--r--src/include/gpxe/infiniband.h8
-rw-r--r--src/include/gpxe/ipoib.h3
4 files changed, 9 insertions, 10 deletions
diff --git a/src/include/gpxe/ib_qset.h b/src/include/gpxe/ib_qset.h
index 90c92a589..d7a76178e 100644
--- a/src/include/gpxe/ib_qset.h
+++ b/src/include/gpxe/ib_qset.h
@@ -20,16 +20,13 @@ struct ib_queue_set {
struct ib_queue_pair *qp;
/** Receive work queue maximum fill level */
unsigned int recv_max_fill;
- /** Receive packet length */
- size_t recv_pkt_len;
};
extern int ib_create_qset ( struct ib_device *ibdev,
struct ib_queue_set *qset, unsigned int num_cqes,
struct ib_completion_queue_operations *cq_op,
unsigned int num_send_wqes,
- unsigned int num_recv_wqes, size_t recv_pkt_len,
- unsigned long qkey );
+ unsigned int num_recv_wqes, unsigned long qkey );
extern void ib_qset_refill_recv ( struct ib_device *ibdev,
struct ib_queue_set *qset );
extern void ib_destroy_qset ( struct ib_device *ibdev,
diff --git a/src/include/gpxe/ib_sma.h b/src/include/gpxe/ib_sma.h
index af40a48a2..6d984804a 100644
--- a/src/include/gpxe/ib_sma.h
+++ b/src/include/gpxe/ib_sma.h
@@ -37,9 +37,6 @@ struct ib_sma {
struct process poll;
};
-/** SMA payload size allocated for received packets */
-#define IB_SMA_PAYLOAD_LEN 2048
-
/** SMA number of send WQEs
*
* This is a policy decision.
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h
index 406933b6a..6cfceda66 100644
--- a/src/include/gpxe/infiniband.h
+++ b/src/include/gpxe/infiniband.h
@@ -24,6 +24,14 @@ FILE_LICENCE ( GPL2_OR_LATER );
/** Subnet administrator queue key */
#define IB_GLOBAL_QKEY 0x80010000UL
+/**
+ * Maximum payload size
+ *
+ * This is currently hard-coded in various places (drivers, subnet
+ * management agent, etc.) to 2048.
+ */
+#define IB_MAX_PAYLOAD_SIZE 2048
+
struct ib_device;
struct ib_queue_pair;
struct ib_address_vector;
diff --git a/src/include/gpxe/ipoib.h b/src/include/gpxe/ipoib.h
index 79d7b3fbc..f8231db08 100644
--- a/src/include/gpxe/ipoib.h
+++ b/src/include/gpxe/ipoib.h
@@ -10,9 +10,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <gpxe/infiniband.h>
-/** IPoIB packet length */
-#define IPOIB_PKT_LEN 2048
-
/** IPoIB MAC address length */
#define IPOIB_ALEN 20