import opensm-3.3.22-2.el8
This commit is contained in:
commit
7a925f44ff
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/opensm-3.3.22.tar.gz
|
1
.opensm.metadata
Normal file
1
.opensm.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
3473adeb0079c9dbb2a22de746d27a21309891a0 SOURCES/opensm-3.3.22.tar.gz
|
@ -0,0 +1,32 @@
|
|||||||
|
From 992687f9ee00d016b450c1aed5b6c8558023881e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Thu, 18 Apr 2019 09:09:56 +0200
|
||||||
|
Subject: [PATCH 1/8] osm_opensm.c: Fix use of enum as NULL pointer in
|
||||||
|
osm_opensm_init_finish
|
||||||
|
|
||||||
|
Fixes this warning:
|
||||||
|
osm_opensm.c:543:31: warning: expression which evaluates to zero treated as a null pointer constant of type 'struct osm_routing_engine *' [-Wnon-literal-null-conversion]
|
||||||
|
p_osm->routing_engine_used = OSM_ROUTING_ENGINE_TYPE_NONE;
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
|
||||||
|
---
|
||||||
|
opensm/osm_opensm.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/opensm/osm_opensm.c b/opensm/osm_opensm.c
|
||||||
|
index d43fe825..da493c7a 100644
|
||||||
|
--- a/opensm/osm_opensm.c
|
||||||
|
+++ b/opensm/osm_opensm.c
|
||||||
|
@@ -540,7 +540,7 @@ ib_api_status_t osm_opensm_init_finish(IN osm_opensm_t * p_osm,
|
||||||
|
|
||||||
|
setup_routing_engines(p_osm, p_opt->routing_engine_names);
|
||||||
|
|
||||||
|
- p_osm->routing_engine_used = OSM_ROUTING_ENGINE_TYPE_NONE;
|
||||||
|
+ p_osm->routing_engine_used = NULL;
|
||||||
|
|
||||||
|
p_osm->node_name_map = open_node_name_map(p_opt->node_name_map_name);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From 3bcefae1376d29dc10881b55701cf0aab71ce380 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Thu, 18 Apr 2019 09:14:49 +0200
|
||||||
|
Subject: [PATCH 2/8] osm_ucast_ftree.c: Fix clang warning about empty loop
|
||||||
|
|
||||||
|
osm_ucast_ftree.c:3861:52: warning: for loop has empty body [-Wempty-body]
|
||||||
|
&& (!p_hca->up_port_groups[i]->is_cn); i++) ;
|
||||||
|
^
|
||||||
|
osm_ucast_ftree.c:3861:52: note: put the semicolon on a separate line to silence this warning
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
|
||||||
|
---
|
||||||
|
opensm/osm_ucast_ftree.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/opensm/osm_ucast_ftree.c b/opensm/osm_ucast_ftree.c
|
||||||
|
index 7fa78efa..106ef6bf 100644
|
||||||
|
--- a/opensm/osm_ucast_ftree.c
|
||||||
|
+++ b/opensm/osm_ucast_ftree.c
|
||||||
|
@@ -3866,7 +3866,9 @@ static void fabric_set_leaf_rank(IN ftree_fabric_t * p_ftree)
|
||||||
|
hca_get_guid_ho(p_hca));
|
||||||
|
|
||||||
|
for (i = 0; (i < p_hca->up_port_groups_num)
|
||||||
|
- && (!p_hca->up_port_groups[i]->is_cn); i++) ;
|
||||||
|
+ && (!p_hca->up_port_groups[i]->is_cn); i++)
|
||||||
|
+ ;
|
||||||
|
+
|
||||||
|
CL_ASSERT(i < p_hca->up_port_groups_num);
|
||||||
|
CL_ASSERT(p_hca->up_port_groups[i]->remote_node_type ==
|
||||||
|
IB_NODE_TYPE_SWITCH);
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
@ -0,0 +1,57 @@
|
|||||||
|
From 393f6651c163058103d6e895dd027b32c4aa509c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Thu, 18 Apr 2019 09:10:48 +0200
|
||||||
|
Subject: [PATCH 3/8] osm_[port ucast_ftree].c: Remove unused static functions
|
||||||
|
|
||||||
|
Clears defined but unused warning from clang
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
|
||||||
|
---
|
||||||
|
opensm/osm_port.c | 2 ++
|
||||||
|
opensm/osm_ucast_ftree.c | 2 ++
|
||||||
|
2 files changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/opensm/osm_port.c b/opensm/osm_port.c
|
||||||
|
index 1246edf9..7b1d58f9 100644
|
||||||
|
--- a/opensm/osm_port.c
|
||||||
|
+++ b/opensm/osm_port.c
|
||||||
|
@@ -303,6 +303,7 @@ static inline uint64_t ptr_to_key(void const *p)
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if 0
|
||||||
|
static inline void *key_to_ptr(uint64_t k)
|
||||||
|
{
|
||||||
|
void *p = 0;
|
||||||
|
@@ -310,6 +311,7 @@ static inline void *key_to_ptr(uint64_t k)
|
||||||
|
memcpy(&p, &k, sizeof(void *));
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
Traverse the fabric from the SM node following the DR path given and
|
||||||
|
diff --git a/opensm/osm_ucast_ftree.c b/opensm/osm_ucast_ftree.c
|
||||||
|
index 106ef6bf..a4b32e5c 100644
|
||||||
|
--- a/opensm/osm_ucast_ftree.c
|
||||||
|
+++ b/opensm/osm_ucast_ftree.c
|
||||||
|
@@ -318,6 +318,7 @@ static inline ftree_tuple_key_t tuple_to_key(IN ftree_tuple_t tuple)
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if 0
|
||||||
|
/***************************************************/
|
||||||
|
|
||||||
|
static inline void tuple_from_key(IN ftree_tuple_t tuple,
|
||||||
|
@@ -325,6 +326,7 @@ static inline void tuple_from_key(IN ftree_tuple_t tuple,
|
||||||
|
{
|
||||||
|
memcpy(tuple, &key, FTREE_TUPLE_LEN);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/***************************************************
|
||||||
|
**
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
@ -0,0 +1,885 @@
|
|||||||
|
From 70722b4886f644170326b8be8d571bf058d955dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Wed, 24 Apr 2019 07:47:09 +0200
|
||||||
|
Subject: [PATCH 8/8] ib_types: Drop packed attribute where unnecessary
|
||||||
|
|
||||||
|
For many of the IBA structures, the packed attribute has no effect.
|
||||||
|
|
||||||
|
List of impacted struct and checks were done this way:
|
||||||
|
|
||||||
|
Before applying this patch
|
||||||
|
- Generate a single file with all the IBA structs
|
||||||
|
(echo -e "#include <iba/ib_types.h>\n#include <stdio.h>\n\n\n"; for struct in $(git grep '^} PACK_SUFFIX' -- include/iba/ib_types.h | awk '{ print $NF }' | sed -e 's/;//'); do echo -e "$struct a_$struct;"; done) > ib_sizes.c
|
||||||
|
- Compile for both 32 and 64b
|
||||||
|
gcc -o ib_sizes.64.o -g3 -c ib_sizes.c -I./include/
|
||||||
|
gcc -o ib_sizes.32.o -g3 -m32 -c ib_sizes.c -I./include/
|
||||||
|
- Generate structure data using pahole
|
||||||
|
pahole ib_sizes.64.o > sizes.64.org
|
||||||
|
pahole ib_sizes.32.o > sizes.32.org
|
||||||
|
|
||||||
|
After applying this patch:
|
||||||
|
- Compile for both 32 and 64b
|
||||||
|
gcc -o ib_sizes.64.o -g3 -c ib_sizes.c -I./include/
|
||||||
|
gcc -o ib_sizes.32.o -g3 -m32 -c ib_sizes.c -I./include/
|
||||||
|
- Generate structure data using pahole
|
||||||
|
pahole ib_sizes.64.o > sizes.64.new
|
||||||
|
pahole ib_sizes.32.o > sizes.32.new
|
||||||
|
|
||||||
|
Diff pahole results:
|
||||||
|
diff sizes.64.org sizes.64.new
|
||||||
|
diff sizes.32.org sizes.32.new
|
||||||
|
|
||||||
|
As the patch remove effect-less attribute, no diff shows up
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
|
||||||
|
---
|
||||||
|
include/iba/ib_types.h | 214 +++++++++++------------------------------
|
||||||
|
1 file changed, 55 insertions(+), 159 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/iba/ib_types.h b/include/iba/ib_types.h
|
||||||
|
index fb1c3f9c..025f9714 100644
|
||||||
|
--- a/include/iba/ib_types.h
|
||||||
|
+++ b/include/iba/ib_types.h
|
||||||
|
@@ -2256,25 +2256,23 @@ static inline boolean_t OSM_API ib_pkey_is_invalid(IN const ib_net16_t pkey)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef union _ib_gid {
|
||||||
|
uint8_t raw[16];
|
||||||
|
struct _ib_gid_unicast {
|
||||||
|
ib_gid_prefix_t prefix;
|
||||||
|
ib_net64_t interface_id;
|
||||||
|
- } PACK_SUFFIX unicast;
|
||||||
|
+ } unicast;
|
||||||
|
struct _ib_gid_multicast {
|
||||||
|
uint8_t header[2];
|
||||||
|
uint8_t raw_group_id[14];
|
||||||
|
- } PACK_SUFFIX multicast;
|
||||||
|
+ } multicast;
|
||||||
|
struct _ib_gid_ip_multicast {
|
||||||
|
uint8_t header[2];
|
||||||
|
ib_net16_t signature;
|
||||||
|
ib_net16_t p_key;
|
||||||
|
uint8_t group_id[10];
|
||||||
|
- } PACK_SUFFIX ip_multicast;
|
||||||
|
-} PACK_SUFFIX ib_gid_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+ } ip_multicast;
|
||||||
|
+} ib_gid_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* raw
|
||||||
|
@@ -2500,7 +2498,6 @@ ib_gid_get_guid(IN const ib_gid_t * const p_gid)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_path_rec {
|
||||||
|
ib_net64_t service_id;
|
||||||
|
ib_gid_t dgid;
|
||||||
|
@@ -2517,8 +2514,7 @@ typedef struct _ib_path_rec {
|
||||||
|
uint8_t pkt_life;
|
||||||
|
uint8_t preference;
|
||||||
|
uint8_t resv2[6];
|
||||||
|
-} PACK_SUFFIX ib_path_rec_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_path_rec_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* service_id
|
||||||
|
@@ -3488,7 +3484,6 @@ ib_path_rec_hop_limit(IN const ib_path_rec_t * const p_rec)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_class_port_info {
|
||||||
|
uint8_t base_ver;
|
||||||
|
uint8_t class_ver;
|
||||||
|
@@ -3506,8 +3501,7 @@ typedef struct _ib_class_port_info {
|
||||||
|
ib_net16_t trap_pkey;
|
||||||
|
ib_net32_t trap_hop_qp;
|
||||||
|
ib_net32_t trap_qkey;
|
||||||
|
-} PACK_SUFFIX ib_class_port_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_class_port_info_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* base_ver
|
||||||
|
@@ -3807,7 +3801,6 @@ ib_sminfo_get_state(IN const ib_sm_info_t * const p_smi)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_mad {
|
||||||
|
uint8_t base_ver;
|
||||||
|
uint8_t mgmt_class;
|
||||||
|
@@ -3819,8 +3812,7 @@ typedef struct _ib_mad {
|
||||||
|
ib_net16_t attr_id;
|
||||||
|
ib_net16_t resv;
|
||||||
|
ib_net32_t attr_mod;
|
||||||
|
-} PACK_SUFFIX ib_mad_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_mad_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* base_ver
|
||||||
|
@@ -4128,7 +4120,6 @@ ib_rmpp_get_resp_time(IN const ib_rmpp_mad_t * const p_rmpp_mad)
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
#define IB_SMP_DATA_SIZE 64
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_smp {
|
||||||
|
uint8_t base_ver;
|
||||||
|
uint8_t mgmt_class;
|
||||||
|
@@ -4148,8 +4139,7 @@ typedef struct _ib_smp {
|
||||||
|
uint8_t data[IB_SMP_DATA_SIZE];
|
||||||
|
uint8_t initial_path[IB_SUBNET_PATH_HOPS_MAX];
|
||||||
|
uint8_t return_path[IB_SUBNET_PATH_HOPS_MAX];
|
||||||
|
-} PACK_SUFFIX ib_smp_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_smp_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* base_ver
|
||||||
|
@@ -4587,14 +4577,12 @@ ib_node_info_get_vendor_id(IN const ib_node_info_t * const p_ni)
|
||||||
|
|
||||||
|
#define IB_NODE_DESCRIPTION_SIZE 64
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_node_desc {
|
||||||
|
// Node String is an array of UTF-8 characters
|
||||||
|
// that describe the node in text format
|
||||||
|
// Note that this string is NOT NULL TERMINATED!
|
||||||
|
uint8_t description[IB_NODE_DESCRIPTION_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_node_desc_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_node_desc_t;
|
||||||
|
|
||||||
|
#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_node_record_t {
|
||||||
|
@@ -4615,7 +4603,6 @@ typedef struct _ib_node_record_t {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_info {
|
||||||
|
ib_net64_t m_key;
|
||||||
|
ib_net64_t subnet_prefix;
|
||||||
|
@@ -4652,8 +4639,7 @@ typedef struct _ib_port_info {
|
||||||
|
ib_net16_t capability_mask2;
|
||||||
|
uint8_t link_speed_ext; /* LinkSpeedExtActive and LinkSpeedExtSupported */
|
||||||
|
uint8_t link_speed_ext_enabled; /* reserv(3b), LinkSpeedExtEnabled(5b) */
|
||||||
|
-} PACK_SUFFIX ib_port_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_info_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
#define IB_PORT_STATE_MASK 0x0F
|
||||||
|
@@ -4726,7 +4712,6 @@ typedef struct _ib_port_info {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_info_ext {
|
||||||
|
ib_net32_t cap_mask;
|
||||||
|
ib_net16_t fec_mode_active;
|
||||||
|
@@ -4737,8 +4722,7 @@ typedef struct _ib_port_info_ext {
|
||||||
|
ib_net16_t hdr_fec_mode_sup;
|
||||||
|
ib_net16_t hdr_fec_mode_enable;
|
||||||
|
uint8_t reserved[46];
|
||||||
|
-} PACK_SUFFIX ib_port_info_ext_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_info_ext_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
#define IB_PORT_EXT_NO_FEC_MODE_ACTIVE 0
|
||||||
|
@@ -6563,7 +6547,6 @@ static inline uint8_t OSM_API ib_get_highest_link_width(IN const uint8_t widths)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_mlnx_ext_port_info {
|
||||||
|
uint8_t resvd1[3];
|
||||||
|
uint8_t state_change_enable;
|
||||||
|
@@ -6574,13 +6557,11 @@ typedef struct _ib_mlnx_ext_port_info {
|
||||||
|
uint8_t resvd4[3];
|
||||||
|
uint8_t link_speed_active;
|
||||||
|
uint8_t resvd5[48];
|
||||||
|
-} PACK_SUFFIX ib_mlnx_ext_port_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_mlnx_ext_port_info_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
typedef uint8_t ib_svc_name_t[64];
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_service_record {
|
||||||
|
ib_net64_t service_id;
|
||||||
|
ib_gid_t service_gid;
|
||||||
|
@@ -6593,8 +6574,7 @@ typedef struct _ib_service_record {
|
||||||
|
ib_net16_t service_data16[8];
|
||||||
|
ib_net32_t service_data32[4];
|
||||||
|
ib_net64_t service_data64[2];
|
||||||
|
-} PACK_SUFFIX ib_service_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_service_record_t;
|
||||||
|
|
||||||
|
#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_portinfo_record {
|
||||||
|
@@ -6606,24 +6586,20 @@ typedef struct _ib_portinfo_record {
|
||||||
|
} PACK_SUFFIX ib_portinfo_record_t;
|
||||||
|
#include <complib/cl_packoff.h>
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_portinfoext_record {
|
||||||
|
ib_net16_t lid;
|
||||||
|
uint8_t port_num;
|
||||||
|
uint8_t options;
|
||||||
|
ib_port_info_ext_t port_info_ext;
|
||||||
|
-} PACK_SUFFIX ib_portinfoext_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_portinfoext_record_t;
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_link_record {
|
||||||
|
ib_net16_t from_lid;
|
||||||
|
uint8_t from_port_num;
|
||||||
|
uint8_t to_port_num;
|
||||||
|
ib_net16_t to_lid;
|
||||||
|
uint8_t pad[2];
|
||||||
|
-} PACK_SUFFIX ib_link_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_link_record_t;
|
||||||
|
|
||||||
|
#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_sminfo_record {
|
||||||
|
@@ -6643,14 +6619,12 @@ typedef struct _ib_sminfo_record {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_lft_record {
|
||||||
|
ib_net16_t lid;
|
||||||
|
ib_net16_t block_num;
|
||||||
|
uint32_t resv0;
|
||||||
|
uint8_t lft[64];
|
||||||
|
-} PACK_SUFFIX ib_lft_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_lft_record_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_mft_record_t
|
||||||
|
@@ -6662,14 +6636,12 @@ typedef struct _ib_lft_record {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_mft_record {
|
||||||
|
ib_net16_t lid;
|
||||||
|
ib_net16_t position_block_num;
|
||||||
|
uint32_t resv0;
|
||||||
|
ib_net16_t mft[IB_MCAST_BLOCK_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_mft_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_mft_record_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_switch_info_t
|
||||||
|
@@ -6681,7 +6653,6 @@ typedef struct _ib_mft_record {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_switch_info {
|
||||||
|
ib_net16_t lin_cap;
|
||||||
|
ib_net16_t rand_cap;
|
||||||
|
@@ -6696,17 +6667,14 @@ typedef struct _ib_switch_info {
|
||||||
|
uint8_t flags;
|
||||||
|
uint8_t resvd;
|
||||||
|
ib_net16_t mcast_top;
|
||||||
|
-} PACK_SUFFIX ib_switch_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_switch_info_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_switch_info_record {
|
||||||
|
ib_net16_t lid;
|
||||||
|
uint16_t resv0;
|
||||||
|
ib_switch_info_t switch_info;
|
||||||
|
-} PACK_SUFFIX ib_switch_info_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_switch_info_record_t;
|
||||||
|
|
||||||
|
#define IB_SWITCH_PSC 0x04
|
||||||
|
|
||||||
|
@@ -6895,26 +6863,21 @@ ib_switch_info_is_enhanced_port0(IN const ib_switch_info_t * const p_si)
|
||||||
|
*/
|
||||||
|
#define GUID_TABLE_MAX_ENTRIES 8
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_guid_info {
|
||||||
|
ib_net64_t guid[GUID_TABLE_MAX_ENTRIES];
|
||||||
|
-} PACK_SUFFIX ib_guid_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_guid_info_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_guidinfo_record {
|
||||||
|
ib_net16_t lid;
|
||||||
|
uint8_t block_num;
|
||||||
|
uint8_t resv;
|
||||||
|
uint32_t reserved;
|
||||||
|
ib_guid_info_t guid_info;
|
||||||
|
-} PACK_SUFFIX ib_guidinfo_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_guidinfo_record_t;
|
||||||
|
|
||||||
|
#define IB_MULTIPATH_MAX_GIDS 11 /* Support max that can fit into first MAD (for now) */
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_multipath_rec_t {
|
||||||
|
ib_net32_t hop_flow_raw;
|
||||||
|
uint8_t tclass;
|
||||||
|
@@ -6930,8 +6893,7 @@ typedef struct _ib_multipath_rec_t {
|
||||||
|
uint8_t dgid_count;
|
||||||
|
uint8_t service_id_56lsb[7];
|
||||||
|
ib_gid_t gids[IB_MULTIPATH_MAX_GIDS];
|
||||||
|
-} PACK_SUFFIX ib_multipath_rec_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_multipath_rec_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* hop_flow_raw
|
||||||
|
@@ -7391,11 +7353,9 @@ ib_multipath_rec_service_id(IN const ib_multipath_rec_t * const p_rec)
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_pkey_table {
|
||||||
|
ib_net16_t pkey_entry[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
|
||||||
|
-} PACK_SUFFIX ib_pkey_table_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_pkey_table_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_pkey_table_record_t
|
||||||
|
@@ -7407,7 +7367,6 @@ typedef struct _ib_pkey_table {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_pkey_table_record {
|
||||||
|
ib_net16_t lid; // for CA: lid of port, for switch lid of port 0
|
||||||
|
ib_net16_t block_num;
|
||||||
|
@@ -7415,8 +7374,7 @@ typedef struct _ib_pkey_table_record {
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint16_t reserved2;
|
||||||
|
ib_pkey_table_t pkey_tbl;
|
||||||
|
-} PACK_SUFFIX ib_pkey_table_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_pkey_table_record_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
#define IB_DROP_VL 15
|
||||||
|
@@ -7430,11 +7388,9 @@ typedef struct _ib_pkey_table_record {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_slvl_table {
|
||||||
|
uint8_t raw_vl_by_sl[IB_MAX_NUM_VLS / 2];
|
||||||
|
-} PACK_SUFFIX ib_slvl_table_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_slvl_table_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_slvl_table_record_t
|
||||||
|
@@ -7446,15 +7402,13 @@ typedef struct _ib_slvl_table {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_slvl_table_record {
|
||||||
|
ib_net16_t lid; // for CA: lid of port, for switch lid of port 0
|
||||||
|
uint8_t in_port_num; // reserved for CAs
|
||||||
|
uint8_t out_port_num; // reserved for CAs
|
||||||
|
uint32_t resv;
|
||||||
|
ib_slvl_table_t slvl_tbl;
|
||||||
|
-} PACK_SUFFIX ib_slvl_table_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_slvl_table_record_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****f* IBA Base: Types/ib_slvl_table_set
|
||||||
|
@@ -7553,12 +7507,10 @@ ib_slvl_table_get(IN const ib_slvl_table_t * p_slvl_tbl, IN uint8_t sl_index)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_vl_arb_element {
|
||||||
|
uint8_t vl;
|
||||||
|
uint8_t weight;
|
||||||
|
-} PACK_SUFFIX ib_vl_arb_element_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_vl_arb_element_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
#define IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK 32
|
||||||
|
@@ -7572,11 +7524,9 @@ typedef struct _ib_vl_arb_element {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_vl_arb_table {
|
||||||
|
ib_vl_arb_element_t vl_entry[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK];
|
||||||
|
-} PACK_SUFFIX ib_vl_arb_table_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_vl_arb_table_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_vl_arb_table_record_t
|
||||||
|
@@ -7588,21 +7538,18 @@ typedef struct _ib_vl_arb_table {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_vl_arb_table_record {
|
||||||
|
ib_net16_t lid; // for CA: lid of port, for switch lid of port 0
|
||||||
|
uint8_t port_num;
|
||||||
|
uint8_t block_num;
|
||||||
|
uint32_t reserved;
|
||||||
|
ib_vl_arb_table_t vl_arb_tbl;
|
||||||
|
-} PACK_SUFFIX ib_vl_arb_table_record_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_vl_arb_table_record_t;
|
||||||
|
/************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global route header information received with unreliable datagram messages
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_grh {
|
||||||
|
ib_net32_t ver_class_flow;
|
||||||
|
ib_net16_t resv1;
|
||||||
|
@@ -7610,8 +7557,7 @@ typedef struct _ib_grh {
|
||||||
|
uint8_t hop_limit;
|
||||||
|
ib_gid_t src_gid;
|
||||||
|
ib_gid_t dest_gid;
|
||||||
|
-} PACK_SUFFIX ib_grh_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_grh_t;
|
||||||
|
|
||||||
|
/****f* IBA Base: Types/ib_grh_get_ver_class_flow
|
||||||
|
* NAME
|
||||||
|
@@ -7719,7 +7665,6 @@ ib_grh_set_ver_class_flow(IN const uint8_t ver,
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_member_rec {
|
||||||
|
ib_gid_t mgid;
|
||||||
|
ib_gid_t port_gid;
|
||||||
|
@@ -7735,8 +7680,7 @@ typedef struct _ib_member_rec {
|
||||||
|
uint8_t proxy_join:1;
|
||||||
|
uint8_t reserved[2];
|
||||||
|
uint8_t pad[4];
|
||||||
|
-} PACK_SUFFIX ib_member_rec_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_member_rec_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* mgid
|
||||||
|
@@ -8599,14 +8543,12 @@ typedef struct _ib_inform_info_record {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_perfmgt_mad {
|
||||||
|
ib_mad_t header;
|
||||||
|
uint8_t resv[40];
|
||||||
|
#define IB_PM_DATA_SIZE 192
|
||||||
|
uint8_t data[IB_PM_DATA_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_perfmgt_mad_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_perfmgt_mad_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* header
|
||||||
|
@@ -8632,7 +8574,6 @@ typedef struct _ib_perfmgt_mad {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_counters {
|
||||||
|
uint8_t reserved;
|
||||||
|
uint8_t port_select;
|
||||||
|
@@ -8655,8 +8596,7 @@ typedef struct _ib_port_counters {
|
||||||
|
ib_net32_t xmit_pkts;
|
||||||
|
ib_net32_t rcv_pkts;
|
||||||
|
ib_net32_t xmit_wait;
|
||||||
|
-} PACK_SUFFIX ib_port_counters_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_counters_t;
|
||||||
|
|
||||||
|
#define PC_LINK_INT(integ_buf_over) ((integ_buf_over & 0xF0) >> 4)
|
||||||
|
#define PC_BUF_OVERRUN(integ_buf_over) (integ_buf_over & 0x0F)
|
||||||
|
@@ -8670,7 +8610,6 @@ typedef struct _ib_port_counters {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_counters_ext {
|
||||||
|
uint8_t reserved;
|
||||||
|
uint8_t port_select;
|
||||||
|
@@ -8698,8 +8637,7 @@ typedef struct _ib_port_counters_ext {
|
||||||
|
ib_net64_t vl15_dropped;
|
||||||
|
ib_net64_t xmit_wait;
|
||||||
|
ib_net64_t qp1_dropped;
|
||||||
|
-} PACK_SUFFIX ib_port_counters_ext_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_counters_ext_t;
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_port_samples_control
|
||||||
|
* NAME
|
||||||
|
@@ -8767,7 +8705,6 @@ typedef struct _ib_port_samples_control {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_samples_result {
|
||||||
|
ib_net16_t tag;
|
||||||
|
ib_net16_t sample_status; /* 14 bits res : 2 bits sample_status */
|
||||||
|
@@ -8786,8 +8723,7 @@ typedef struct _ib_port_samples_result {
|
||||||
|
ib_net32_t counter12;
|
||||||
|
ib_net32_t counter13;
|
||||||
|
ib_net32_t counter14;
|
||||||
|
-} PACK_SUFFIX ib_port_samples_result_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_samples_result_t;
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_port_xmit_data_sl
|
||||||
|
* NAME
|
||||||
|
@@ -8798,15 +8734,13 @@ typedef struct _ib_port_samples_result {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_xmit_data_sl {
|
||||||
|
uint8_t reserved;
|
||||||
|
uint8_t port_select;
|
||||||
|
ib_net16_t counter_select;
|
||||||
|
ib_net32_t port_xmit_data_sl[16];
|
||||||
|
uint8_t resv[124];
|
||||||
|
-} PACK_SUFFIX ib_port_xmit_data_sl_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_xmit_data_sl_t;
|
||||||
|
|
||||||
|
/****s* IBA Base: Types/ib_port_rcv_data_sl
|
||||||
|
* NAME
|
||||||
|
@@ -8817,15 +8751,13 @@ typedef struct _ib_port_xmit_data_sl {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_port_rcv_data_sl {
|
||||||
|
uint8_t reserved;
|
||||||
|
uint8_t port_select;
|
||||||
|
ib_net16_t counter_select;
|
||||||
|
ib_net32_t port_rcv_data_sl[16];
|
||||||
|
uint8_t resv[124];
|
||||||
|
-} PACK_SUFFIX ib_port_rcv_data_sl_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_port_rcv_data_sl_t;
|
||||||
|
|
||||||
|
/****d* IBA Base: Types/DM_SVC_NAME
|
||||||
|
* NAME
|
||||||
|
@@ -8850,14 +8782,12 @@ typedef struct _ib_port_rcv_data_sl {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_dm_mad {
|
||||||
|
ib_mad_t header;
|
||||||
|
uint8_t resv[40];
|
||||||
|
#define IB_DM_DATA_SIZE 192
|
||||||
|
uint8_t data[IB_DM_DATA_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_dm_mad_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_dm_mad_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* header
|
||||||
|
@@ -8883,7 +8813,6 @@ typedef struct _ib_dm_mad {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_iou_info {
|
||||||
|
ib_net16_t change_id;
|
||||||
|
uint8_t max_controllers;
|
||||||
|
@@ -8894,8 +8823,7 @@ typedef struct _ib_iou_info {
|
||||||
|
#define IOC_INSTALLED 0x1
|
||||||
|
// Reserved values 0x02-0xE
|
||||||
|
#define SLOT_DOES_NOT_EXIST 0xF
|
||||||
|
-} PACK_SUFFIX ib_iou_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_iou_info_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* change_id
|
||||||
|
@@ -9023,7 +8951,6 @@ ioc_at_slot(IN const ib_iou_info_t * const p_iou_info, IN uint8_t slot)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_ioc_profile {
|
||||||
|
ib_net64_t ioc_guid;
|
||||||
|
ib_net32_t vend_id;
|
||||||
|
@@ -9057,8 +8984,7 @@ typedef struct _ib_ioc_profile {
|
||||||
|
uint8_t resv6[9];
|
||||||
|
#define CTRL_ID_STRING_LEN 64
|
||||||
|
char id_string[CTRL_ID_STRING_LEN];
|
||||||
|
-} PACK_SUFFIX ib_ioc_profile_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_ioc_profile_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* ioc_guid
|
||||||
|
@@ -9142,13 +9068,11 @@ ib_ioc_profile_set_vend_id(IN ib_ioc_profile_t * const p_ioc_profile,
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_svc_entry {
|
||||||
|
#define MAX_SVC_ENTRY_NAME_LEN 40
|
||||||
|
char name[MAX_SVC_ENTRY_NAME_LEN];
|
||||||
|
ib_net64_t id;
|
||||||
|
-} PACK_SUFFIX ib_svc_entry_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_svc_entry_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* name
|
||||||
|
@@ -9170,12 +9094,10 @@ typedef struct _ib_svc_entry {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_svc_entries {
|
||||||
|
#define SVC_ENTRY_COUNT 4
|
||||||
|
ib_svc_entry_t service_entry[SVC_ENTRY_COUNT];
|
||||||
|
-} PACK_SUFFIX ib_svc_entries_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_svc_entries_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* service_entry
|
||||||
|
@@ -9203,7 +9125,6 @@ ib_dm_get_slot_lo_hi(IN const ib_net32_t slot_lo_hi,
|
||||||
|
/*
|
||||||
|
* IBA defined information describing an I/O controller
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_ioc_info {
|
||||||
|
ib_net64_t module_guid;
|
||||||
|
ib_net64_t iou_guid;
|
||||||
|
@@ -9211,8 +9132,7 @@ typedef struct _ib_ioc_info {
|
||||||
|
ib_net64_t access_key;
|
||||||
|
uint16_t initiators_conf;
|
||||||
|
uint8_t resv[38];
|
||||||
|
-} PACK_SUFFIX ib_ioc_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_ioc_info_t;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following definitions are shared between the Access Layer and VPD
|
||||||
|
@@ -11569,14 +11489,12 @@ typedef struct _ib_ci_op {
|
||||||
|
#define IB_CC_MAD_HDR_SIZE (sizeof(ib_sa_mad_t) - IB_CC_LOG_DATA_SIZE \
|
||||||
|
- IB_CC_MGT_DATA_SIZE)
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cc_mad {
|
||||||
|
ib_mad_t header;
|
||||||
|
ib_net64_t cc_key;
|
||||||
|
uint8_t log_data[IB_CC_LOG_DATA_SIZE];
|
||||||
|
uint8_t mgt_data[IB_CC_MGT_DATA_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_cc_mad_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cc_mad_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* header
|
||||||
|
@@ -11688,13 +11606,11 @@ ib_cc_mad_get_mgt_data_ptr(IN const ib_cc_mad_t * const p_cc_mad)
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cong_info {
|
||||||
|
uint8_t cong_info;
|
||||||
|
uint8_t resv;
|
||||||
|
uint8_t ctrl_table_cap;
|
||||||
|
-} PACK_SUFFIX ib_cong_info_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cong_info_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* cong_info
|
||||||
|
@@ -11751,14 +11667,12 @@ typedef struct _ib_cong_key_info {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cong_log_event_sw {
|
||||||
|
ib_net16_t slid;
|
||||||
|
ib_net16_t dlid;
|
||||||
|
ib_net32_t sl;
|
||||||
|
ib_net32_t time_stamp;
|
||||||
|
-} PACK_SUFFIX ib_cong_log_event_sw_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cong_log_event_sw_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* slid
|
||||||
|
@@ -11787,15 +11701,13 @@ typedef struct _ib_cong_log_event_sw {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cong_log_event_ca {
|
||||||
|
ib_net32_t local_qp_resv0;
|
||||||
|
ib_net32_t remote_qp_sl_service_type;
|
||||||
|
ib_net16_t remote_lid;
|
||||||
|
ib_net16_t resv1;
|
||||||
|
ib_net32_t time_stamp;
|
||||||
|
-} PACK_SUFFIX ib_cong_log_event_ca_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cong_log_event_ca_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
* resv0_local_qp
|
||||||
|
@@ -11895,7 +11807,6 @@ typedef struct _ib_cong_log {
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
#define IB_CC_PORT_MASK_DATA_SIZE 32
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_sw_cong_setting {
|
||||||
|
ib_net32_t control_map;
|
||||||
|
uint8_t victim_mask[IB_CC_PORT_MASK_DATA_SIZE];
|
||||||
|
@@ -11905,8 +11816,7 @@ typedef struct _ib_sw_cong_setting {
|
||||||
|
ib_net16_t cs_threshold_resv;
|
||||||
|
ib_net16_t cs_return_delay;
|
||||||
|
ib_net16_t marking_rate;
|
||||||
|
-} PACK_SUFFIX ib_sw_cong_setting_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_sw_cong_setting_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -11960,13 +11870,11 @@ typedef struct _ib_sw_cong_setting {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_sw_port_cong_setting_element {
|
||||||
|
uint8_t valid_ctrl_type_res_threshold;
|
||||||
|
uint8_t packet_size;
|
||||||
|
ib_net16_t cong_param;
|
||||||
|
-} PACK_SUFFIX ib_sw_port_cong_setting_element_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_sw_port_cong_setting_element_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12023,11 +11931,9 @@ typedef ib_sw_port_cong_setting_element_t ib_sw_port_cong_setting_block_t[IB_CC_
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_sw_port_cong_setting {
|
||||||
|
ib_sw_port_cong_setting_block_t block;
|
||||||
|
-} PACK_SUFFIX ib_sw_port_cong_setting_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_sw_port_cong_setting_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12047,7 +11953,6 @@ typedef struct _ib_sw_port_cong_setting {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_ca_cong_entry {
|
||||||
|
ib_net16_t ccti_timer;
|
||||||
|
uint8_t ccti_increase;
|
||||||
|
@@ -12055,8 +11960,7 @@ typedef struct _ib_ca_cong_entry {
|
||||||
|
uint8_t ccti_min;
|
||||||
|
uint8_t resv0;
|
||||||
|
ib_net16_t resv1;
|
||||||
|
-} PACK_SUFFIX ib_ca_cong_entry_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_ca_cong_entry_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12089,13 +11993,11 @@ typedef struct _ib_ca_cong_entry {
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
#define IB_CA_CONG_ENTRY_DATA_SIZE 16
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_ca_cong_setting {
|
||||||
|
ib_net16_t port_control;
|
||||||
|
ib_net16_t control_map;
|
||||||
|
ib_ca_cong_entry_t entry_list[IB_CA_CONG_ENTRY_DATA_SIZE];
|
||||||
|
-} PACK_SUFFIX ib_ca_cong_setting_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_ca_cong_setting_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12125,11 +12027,9 @@ typedef struct _ib_ca_cong_setting {
|
||||||
|
*
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cc_tbl_entry {
|
||||||
|
ib_net16_t shift_multiplier;
|
||||||
|
-} PACK_SUFFIX ib_cc_tbl_entry_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cc_tbl_entry_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12153,13 +12053,11 @@ typedef struct _ib_cc_tbl_entry {
|
||||||
|
* SYNOPSIS
|
||||||
|
*/
|
||||||
|
#define IB_CC_TBL_ENTRY_LIST_MAX 64
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_cc_tbl {
|
||||||
|
ib_net16_t ccti_limit;
|
||||||
|
ib_net16_t resv;
|
||||||
|
ib_cc_tbl_entry_t entry_list[IB_CC_TBL_ENTRY_LIST_MAX];
|
||||||
|
-} PACK_SUFFIX ib_cc_tbl_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_cc_tbl_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
@@ -12182,11 +12080,9 @@ typedef struct _ib_cc_tbl {
|
||||||
|
*
|
||||||
|
* SOURCE
|
||||||
|
*/
|
||||||
|
-#include <complib/cl_packon.h>
|
||||||
|
typedef struct _ib_time_stamp {
|
||||||
|
ib_net32_t value;
|
||||||
|
-} PACK_SUFFIX ib_time_stamp_t;
|
||||||
|
-#include <complib/cl_packoff.h>
|
||||||
|
+} ib_time_stamp_t;
|
||||||
|
/*
|
||||||
|
* FIELDS
|
||||||
|
*
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
44
SOURCES/opensm.launch
Normal file
44
SOURCES/opensm.launch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Launch the necessary OpenSM daemons for systemd
|
||||||
|
#
|
||||||
|
# sysconfig: /etc/sysconfig/opensm
|
||||||
|
# config: /etc/rdma/opensm.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
|
|
||||||
|
prog=/usr/sbin/opensm
|
||||||
|
[ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm
|
||||||
|
|
||||||
|
[ -n "$PRIORITY" ] && prio="-p $PRIORITY"
|
||||||
|
|
||||||
|
if [ -z "$GUIDS" ]; then
|
||||||
|
CONFIGS=""
|
||||||
|
CONFIG_CNT=0
|
||||||
|
for conf in /etc/rdma/opensm.conf.[0-9]*; do
|
||||||
|
CONFIGS="$CONFIGS $conf"
|
||||||
|
let CONFIG_CNT++
|
||||||
|
done
|
||||||
|
else
|
||||||
|
GUID_CNT=0
|
||||||
|
for guid in $GUIDS; do
|
||||||
|
let GUID_CNT++
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
# Start opensm
|
||||||
|
if [ -n "$GUIDS" ]; then
|
||||||
|
SUBNET_COUNT=0
|
||||||
|
for guid in $GUIDS; do
|
||||||
|
SUBNET_PREFIX=`printf "0xfe800000000000%02d" $SUBNET_COUNT`
|
||||||
|
(while true; do $prog $prio -g $guid --subnet_prefix $SUBNET_PREFIX; sleep 30; done) &
|
||||||
|
let SUBNET_COUNT++
|
||||||
|
done
|
||||||
|
elif [ -n "$CONFIGS" ]; then
|
||||||
|
for config in $CONFIGS; do
|
||||||
|
(while true; do $prog $prio -F $config; sleep 30; done) &
|
||||||
|
done
|
||||||
|
else
|
||||||
|
(while true; do $prog $prio; sleep 30; done) &
|
||||||
|
fi
|
||||||
|
exit 0
|
7
SOURCES/opensm.logrotate
Normal file
7
SOURCES/opensm.logrotate
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/var/log/opensm.log {
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
copytruncate
|
||||||
|
weekly
|
||||||
|
compress
|
||||||
|
}
|
74
SOURCES/opensm.partitions
Normal file
74
SOURCES/opensm.partitions
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# For reference:
|
||||||
|
# IPv4 IANA reserved multicast addresses:
|
||||||
|
# http://www.iana.org/assignments/multicast-addresses/multicast-addresses.txt
|
||||||
|
# IPv6 IANA reserved multicast addresses:
|
||||||
|
# http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xml
|
||||||
|
#
|
||||||
|
# mtu =
|
||||||
|
# 1 = 256
|
||||||
|
# 2 = 512
|
||||||
|
# 3 = 1024
|
||||||
|
# 4 = 2048
|
||||||
|
# 5 = 4096
|
||||||
|
#
|
||||||
|
# rate =
|
||||||
|
# 2 = 2.5 GBit/s (SDR 1x)
|
||||||
|
# 3 = 10 GBit/s (SDR 4x/QDR 1x)
|
||||||
|
# 4 = 30 GBit/s (SDR 12x)
|
||||||
|
# 5 = 5 GBit/s (DDR 1x)
|
||||||
|
# 6 = 20 GBit/s (DDR 4x)
|
||||||
|
# 7 = 40 GBit/s (QDR 4x)
|
||||||
|
# 8 = 60 GBit/s (DDR 12x)
|
||||||
|
# 9 = 80 GBit/s (QDR 8x)
|
||||||
|
# 10 = 120 GBit/s (QDR 12x)
|
||||||
|
# If ExtendedLinkSpeeds are supported, then these rate values are valid too
|
||||||
|
# 11 = 14 GBit/s (FDR 1x)
|
||||||
|
# 12 = 56 GBit/s (FDR 4x)
|
||||||
|
# 13 = 112 GBit/s (FDR 8x)
|
||||||
|
# 14 = 168 GBit/s (FDR 12x)
|
||||||
|
# 15 = 25 GBit/s (EDR 1x)
|
||||||
|
# 16 = 100 GBit/s (EDR 4x)
|
||||||
|
# 17 = 200 GBit/s (EDR 8x)
|
||||||
|
# 18 = 300 GBit/s (EDR 12x)
|
||||||
|
|
||||||
|
Default=0x7fff, rate=3, mtu=4, scope=2, defmember=full:
|
||||||
|
ALL, ALL_SWITCHES=full;
|
||||||
|
Default=0x7fff, ipoib, rate=3, mtu=4, scope=2:
|
||||||
|
mgid=ff12:401b::ffff:ffff # IPv4 Broadcast address
|
||||||
|
mgid=ff12:401b::1 # IPv4 All Hosts group
|
||||||
|
mgid=ff12:401b::2 # IPv4 All Routers group
|
||||||
|
mgid=ff12:401b::16 # IPv4 IGMP group
|
||||||
|
mgid=ff12:401b::fb # IPv4 mDNS group
|
||||||
|
mgid=ff12:401b::fc # IPv4 Multicast Link Local Name Resolution group
|
||||||
|
mgid=ff12:401b::101 # IPv4 NTP group
|
||||||
|
mgid=ff12:401b::202 # IPv4 Sun RPC
|
||||||
|
mgid=ff12:601b::1 # IPv6 All Hosts group
|
||||||
|
mgid=ff12:601b::2 # IPv6 All Routers group
|
||||||
|
mgid=ff12:601b::16 # IPv6 MLDv2-capable Routers group
|
||||||
|
mgid=ff12:601b::fb # IPv6 mDNS group
|
||||||
|
mgid=ff12:601b::101 # IPv6 NTP group
|
||||||
|
mgid=ff12:601b::202 # IPv6 Sun RPC group
|
||||||
|
mgid=ff12:601b::1:3 # IPv6 Multicast Link Local Name Resolution group
|
||||||
|
ALL=full, ALL_SWITCHES=full;
|
||||||
|
|
||||||
|
# 40GBit, 4K MTU IPoIB example
|
||||||
|
#ib0_2=0x0002, rate=7, mtu=5, scope=2, defmember=full:
|
||||||
|
# ALL, ALL_SWITCHES=full;
|
||||||
|
#ib0_2=0x0002, ipoib, rate=7, mtu=5, scope=2:
|
||||||
|
# mgid=ff12:401b::ffff:ffff # IPv4 Broadcast address
|
||||||
|
# mgid=ff12:401b::1 # IPv4 All Hosts group
|
||||||
|
# mgid=ff12:401b::2 # IPv4 All Routers group
|
||||||
|
# mgid=ff12:401b::16 # IPv4 IGMP group
|
||||||
|
# mgid=ff12:401b::fb # IPv4 mDNS group
|
||||||
|
# mgid=ff12:401b::fc # IPv4 Multicast Link Local Name Resolution group
|
||||||
|
# mgid=ff12:401b::101 # IPv4 NTP group
|
||||||
|
# mgid=ff12:401b::202 # IPv4 Sun RPC
|
||||||
|
# mgid=ff12:601b::1 # IPv6 All Hosts group
|
||||||
|
# mgid=ff12:601b::2 # IPv6 All Routers group
|
||||||
|
# mgid=ff12:601b::16 # IPv6 MLDv2-capable Routers group
|
||||||
|
# mgid=ff12:601b::fb # IPv6 mDNS group
|
||||||
|
# mgid=ff12:601b::101 # IPv6 NTP group
|
||||||
|
# mgid=ff12:601b::202 # IPv6 Sun RPC group
|
||||||
|
# mgid=ff12:601b::1:3 # IPv6 Multicast Link Local Name Resolution group
|
||||||
|
# ALL=full, ALL_SWITCHES=full;
|
||||||
|
|
1
SOURCES/opensm.rwtab
Normal file
1
SOURCES/opensm.rwtab
Normal file
@ -0,0 +1 @@
|
|||||||
|
empty /var/cache/opensm
|
14
SOURCES/opensm.service
Normal file
14
SOURCES/opensm.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Starts the OpenSM InfiniBand fabric Subnet Manager
|
||||||
|
Documentation=man:opensm
|
||||||
|
DefaultDependencies=false
|
||||||
|
Before=network.target remote-fs-pre.target
|
||||||
|
Requires=rdma.service
|
||||||
|
After=rdma.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart=/usr/libexec/opensm-launch
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=network.target
|
72
SOURCES/opensm.sysconfig
Normal file
72
SOURCES/opensm.sysconfig
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Problem #1: Multiple IB fabrics needing a subnet manager
|
||||||
|
#
|
||||||
|
# In the event that a machine has more than one IB subnet attached,
|
||||||
|
# and that machine is an opensm server, by default, opensm will
|
||||||
|
# only attach to one port and will not manage the fabric on the
|
||||||
|
# other port. There are two ways to solve this problem:
|
||||||
|
#
|
||||||
|
# 1) Start opensm on multiple machines and configure it to manage
|
||||||
|
# different fabrics on each machine
|
||||||
|
# 2) Configure opensm to start multiple instances on a single
|
||||||
|
# machine
|
||||||
|
#
|
||||||
|
# Both solutions to this problem require non-standard configurations.
|
||||||
|
# In other words, you would normally have to modify /etc/rdma/opensm.conf
|
||||||
|
# and once you do that, the file will no longer be updated for new
|
||||||
|
# options when opensm is upgraded. In an effort to allow people to
|
||||||
|
# have more than one subnet managed by opensm without having to modify
|
||||||
|
# the system default opensm.conf file, we have enabled two methods
|
||||||
|
# for modifying the default opensm config items needed to enable
|
||||||
|
# multiple fabric management.
|
||||||
|
#
|
||||||
|
# Method #1: Create multiple opensm.conf files in non-standard locations
|
||||||
|
# Copy /etc/rdma/opensm.conf to /etc/rdma/opensm.conf.<number>
|
||||||
|
# (do this once for each instance you want started)
|
||||||
|
# Edit each copy of the opensm.conf file to reflect the necessary changes
|
||||||
|
# for a multiple instance startup. If you need to manage more than
|
||||||
|
# one fabric, you will have to change the guid option in each file
|
||||||
|
# to specify the guid of the specific port you want opensm attached
|
||||||
|
# to.
|
||||||
|
#
|
||||||
|
# The advantage to method #1 is that, on the off chance you want to do
|
||||||
|
# really special custom things on different ports, like have different
|
||||||
|
# QoS settings depending on which port you are attached to, you have the
|
||||||
|
# freedom to edit any and all settings for each instance without those
|
||||||
|
# changes affecting other instances or being lost when opensm upgrades.
|
||||||
|
#
|
||||||
|
# Method #2: Specify multiple GUIDS variable entries in this file
|
||||||
|
# Uncomment the below GUIDS variable and enter each guid you need to attach
|
||||||
|
# to into the list. If using this method you need to enter each
|
||||||
|
# guid into the list as we won't attach to any default ports, only
|
||||||
|
# those specified in the list.
|
||||||
|
#
|
||||||
|
#GUIDS="0x0002c90300048ca1 0x0002c90300048ca2"
|
||||||
|
#
|
||||||
|
# The obvious advantage to method #2 is that it's simple and doesn't
|
||||||
|
# clutter up your file system, but it is far more limited in what you
|
||||||
|
# can do. If you enable method #2, then even if you create the files
|
||||||
|
# referenced in method #1, they will be ignored.
|
||||||
|
#
|
||||||
|
# Problem #2: Activating a backup subnet manager
|
||||||
|
#
|
||||||
|
# The default priority of opensm is set so that it wants to be the
|
||||||
|
# primary subnet manager. This is great when you are only running
|
||||||
|
# opensm on one server, but if you want to have a non-primary opensm
|
||||||
|
# instance for failover, then you have to manually edit the opensm.conf
|
||||||
|
# file like for problem #1. This carries with it all the problems
|
||||||
|
# listed above. If you wish to enable opensm as a non-primary manager,
|
||||||
|
# then you can uncomment the PRIORITY variable below and set it to
|
||||||
|
# some number between 0 and 15, where 15 is the highest priority and
|
||||||
|
# the primary manager, with 0 being the lowest backup server. This method
|
||||||
|
# will work with the GUIDS option above, and also with the multiple
|
||||||
|
# config files in method #1 above. However, only a single priority is
|
||||||
|
# supported here. If you wanted more than one priority (say this machine
|
||||||
|
# is the primary on the first fabric, and second on the second fabric,
|
||||||
|
# while the other opensm server is primary on the second fabric and
|
||||||
|
# second on the primary), then the only way to do that is to use method #1
|
||||||
|
# above and individually edit the config files. If you edit the config
|
||||||
|
# files to set the priority and then also set the priority here, then
|
||||||
|
# this setting will override the config files and render that particular
|
||||||
|
# edit useless.
|
||||||
|
#
|
||||||
|
#PRIORITY=15
|
298
SPECS/opensm.spec
Normal file
298
SPECS/opensm.spec
Normal file
@ -0,0 +1,298 @@
|
|||||||
|
%global __remake_config 1
|
||||||
|
|
||||||
|
Name: opensm
|
||||||
|
Version: 3.3.22
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: OpenIB InfiniBand Subnet Manager and management utilities
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
License: GPLv2 or BSD
|
||||||
|
Url: https://github.com/linux-rdma/opensm
|
||||||
|
|
||||||
|
Source0: https://github.com/linux-rdma/opensm/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Source2: opensm.logrotate
|
||||||
|
Source4: opensm.sysconfig
|
||||||
|
Source5: opensm.service
|
||||||
|
Source6: opensm.launch
|
||||||
|
Source7: opensm.rwtab
|
||||||
|
Source8: opensm.partitions
|
||||||
|
|
||||||
|
Patch1: 0001-osm_opensm.c-Fix-use-of-enum-as-NULL-pointer-in-osm_.patch
|
||||||
|
Patch2: 0003-osm_-port-ucast_ftree-.c-Remove-unused-static-functi.patch
|
||||||
|
Patch3: 0002-osm_ucast_ftree.c-Fix-clang-warning-about-empty-loop.patch
|
||||||
|
Patch4: 0008-ib_types-Drop-packed-attribute-where-unnecessary.patch
|
||||||
|
|
||||||
|
BuildRequires: libibumad-devel, systemd, systemd-units
|
||||||
|
BuildRequires: bison, flex, byacc, gcc
|
||||||
|
%if %{__remake_config}
|
||||||
|
BuildRequires: libtool, autoconf, automake
|
||||||
|
%endif
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}, logrotate, rdma
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(preun): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
# RDMA is not currently built on 32-bit ARM: #1484155
|
||||||
|
ExcludeArch: s390 %{arm}
|
||||||
|
|
||||||
|
%description
|
||||||
|
OpenSM is the OpenIB project's Subnet Manager for Infiniband networks.
|
||||||
|
The subnet manager is run as a system daemon on one of the machines in
|
||||||
|
the infiniband fabric to manage the fabric's routing state. This package
|
||||||
|
also contains various tools for diagnosing and testing Infiniband networks
|
||||||
|
that can be used from any machine and do not need to be run on a machine
|
||||||
|
running the opensm daemon.
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: Libraries used by opensm and included utilities
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
|
%description libs
|
||||||
|
Shared libraries for Infiniband user space access
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for the opensm-libs libraries
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development environment for the opensm libraries
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: Static version of the opensm libraries
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
%description static
|
||||||
|
Static version of opensm libraries
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%if %{__remake_config}
|
||||||
|
./autogen.sh
|
||||||
|
%endif
|
||||||
|
%configure --with-opensm-conf-sub-dir=rdma
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
cd opensm
|
||||||
|
./opensm -c ../opensm-%{version}.conf
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install DESTDIR=%{buildroot}
|
||||||
|
# remove unpackaged files from the buildroot
|
||||||
|
rm -f %{buildroot}%{_libdir}/*.la
|
||||||
|
rm -fr %{buildroot}%{_sysconfdir}/init.d
|
||||||
|
install -D -m644 opensm-%{version}.conf %{buildroot}%{_sysconfdir}/rdma/opensm.conf
|
||||||
|
install -D -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/opensm
|
||||||
|
install -D -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/opensm
|
||||||
|
install -D -m644 %{SOURCE5} %{buildroot}%{_unitdir}/opensm.service
|
||||||
|
install -D -m755 %{SOURCE6} %{buildroot}%{_libexecdir}/opensm-launch
|
||||||
|
install -D -m644 %{SOURCE7} %{buildroot}%{_sysconfdir}/rwtab.d/opensm
|
||||||
|
install -D -m644 %{SOURCE8} %{buildroot}%{_sysconfdir}/rdma/partitions.conf
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/var/cache/opensm
|
||||||
|
|
||||||
|
%post
|
||||||
|
%systemd_post opensm.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_preun opensm.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ -d /var/cache/opensm ]; then
|
||||||
|
rm -fr /var/cache/opensm
|
||||||
|
fi
|
||||||
|
%systemd_postun_with_restart opensm.service
|
||||||
|
|
||||||
|
%post libs -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun libs -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%dir /var/cache/opensm
|
||||||
|
%{_sbindir}/*
|
||||||
|
%{_mandir}/*/*
|
||||||
|
%{_unitdir}/*
|
||||||
|
%{_libexecdir}/*
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/opensm
|
||||||
|
%config(noreplace) %{_sysconfdir}/rdma/opensm.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/rdma/partitions.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/opensm
|
||||||
|
%{_sysconfdir}/rwtab.d/opensm
|
||||||
|
%doc AUTHORS ChangeLog INSTALL README NEWS
|
||||||
|
%license COPYING
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
%{_libdir}/lib*.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/lib*.so
|
||||||
|
%{_includedir}/infiniband
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%{_libdir}/lib*.a
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu May 30 2019 Honggang Li <honli@redhat.com> - 3.3.22-2
|
||||||
|
- Onboard gating configuration
|
||||||
|
- Resolves: bz1682401
|
||||||
|
|
||||||
|
* Wed May 15 2019 Honggang Li <honli@redhat.com> - 3.3.22-1
|
||||||
|
- Rebase to latest upstream release 3.3.22
|
||||||
|
- Resolves: bz1708475
|
||||||
|
|
||||||
|
* Fri Jan 11 2019 Honggang Li <honli@redhat.com> - 3.3.21-2
|
||||||
|
- Restore the 'subnet_prefix' option
|
||||||
|
- Resolves: bz1664575
|
||||||
|
|
||||||
|
* Mon Sep 24 2018 Honggang Li <honli@redhat.com> - 3.3.21-1
|
||||||
|
- Rebase to latest upstream release 3.3.21
|
||||||
|
- Resolves: bz1602645
|
||||||
|
|
||||||
|
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 1 2018 Honggang Li <honli@redhat.com> - 3.3.20-7
|
||||||
|
- Fix BuildRequires
|
||||||
|
- Fix preuninstall script
|
||||||
|
- Resolves: bz1540934
|
||||||
|
|
||||||
|
* Mon Aug 28 2017 Honggang Li <honli@redhat.com> - 3.3.20-6
|
||||||
|
- Add support for s309x
|
||||||
|
|
||||||
|
* Sat Aug 26 2017 Honggang Li <honli@redhat.com> - 3.3.20-5
|
||||||
|
- Disable support for ARM32.
|
||||||
|
- Resolves: bz1484155
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 10 2016 Honggang Li <honli@redhat.com> - 3.3.20-1
|
||||||
|
- Update to latest upstream release
|
||||||
|
- Resolves: bz1344691
|
||||||
|
|
||||||
|
* Wed Mar 16 2016 Doug Ledford <dledford@redhat.com> - 3.3.19-1
|
||||||
|
- Update to latest upstream release
|
||||||
|
- Incorporate features from RHEL opensm
|
||||||
|
- Resolves: bz1124202
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.17-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 29 2014 Michael Schwendt <mschwendt@fedoraproject.org> - 3.3.17-2
|
||||||
|
- Don't include manual page directories (#1089412).
|
||||||
|
- Use standard group Development/Libraries in library devel packages.
|
||||||
|
- Use %%?_isa in base package dependencies.
|
||||||
|
|
||||||
|
* Mon Mar 17 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.3.17-1
|
||||||
|
- Update to 3.3.17
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.15-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Mar 25 2013 Doug Ledford <dledford@redhat.com> - 3.3.15-6
|
||||||
|
- Oops, forgot to remove the -B option to opensm when starting it
|
||||||
|
|
||||||
|
* Mon Mar 25 2013 Doug Ledford <dledford@redhat.com> - 3.3.15-5
|
||||||
|
- Drop the old sysv init script
|
||||||
|
- Fix opensm-launch to restart opensm in a loop. This works around the
|
||||||
|
fact that systemd starts opensm so early that we very well might not have
|
||||||
|
sync on the link yet. Without the physical link being up, opensm exits
|
||||||
|
immediately. This way opensm will get restarted every 30 seconds until
|
||||||
|
sync is active on the link or until the opensm service is stopped.
|
||||||
|
- Always install the newly generated opensm-%%{version}.conf as opensm.conf
|
||||||
|
- Make the launch work properly in the event that no GUIDs are set and
|
||||||
|
there are no numbered config files
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.15-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 05 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-3
|
||||||
|
- Fix startup on read only root
|
||||||
|
- Update default config file
|
||||||
|
- Resolves: bz817591
|
||||||
|
|
||||||
|
* Wed Dec 05 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-2
|
||||||
|
- More tweaks to systemd setup (proper scriptlets now)
|
||||||
|
- More tweaks to old sysv init script support (fix Requires)
|
||||||
|
|
||||||
|
* Tue Nov 27 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-1
|
||||||
|
- Update to latest upstream release
|
||||||
|
- Update to systemd startup
|
||||||
|
|
||||||
|
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.13-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Mar 13 2012 Doug Ledford <dledford@redhat.com> - 3.3.13-2
|
||||||
|
- Fix the config file comment in the opensm init script
|
||||||
|
- Resolves: bz802727
|
||||||
|
|
||||||
|
* Tue Feb 28 2012 Doug Ledford <dledford@redhat.com> - 3.3.13-1
|
||||||
|
- Update to latest upstream version
|
||||||
|
- Fix a minor issue in init scripts that would cause systemd to try and
|
||||||
|
start/stop things in the wrong order
|
||||||
|
- Add a patch to allow us to specify the subnet prefix on the command line
|
||||||
|
|
||||||
|
* Tue Jan 03 2012 Doug Ledford <dledford@redhat.com> - 3.3.12-1
|
||||||
|
- Update to latest upstream version
|
||||||
|
|
||||||
|
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> - 3.3.9-2
|
||||||
|
- Rebuilt for rpm bug #728707
|
||||||
|
|
||||||
|
* Wed Jul 20 2011 Doug Ledford <dledford@redhat.com> - 3.3.9-1
|
||||||
|
- Update to latest upstream version
|
||||||
|
- Add /etc/sysconfig/opensm for use by opensm init script
|
||||||
|
- Enable the ability to start more than one instance of opensm for multiple
|
||||||
|
fabric support
|
||||||
|
- Enable the ability to start opensm with a priority other than default for
|
||||||
|
support of backup opensm instances
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Mar 08 2010 Doug Ledford <dledford@redhat.com> - 3.3.5-1
|
||||||
|
- Update to latest upstream release. We need various defines in ib_types.h
|
||||||
|
for the latest ibutils package to build properly, and the latest ibutils
|
||||||
|
package is needed because we found licensing problems in the older
|
||||||
|
tarballs during review.
|
||||||
|
|
||||||
|
* Mon Jan 11 2010 Doug Ledford <dledford@redhat.com> - 3.3.3-2
|
||||||
|
- ExcludeArch s390(x) as there's no hardware support there
|
||||||
|
|
||||||
|
* Thu Dec 03 2009 Doug Ledford <dledford@redhat.com> - 3.3.3-1
|
||||||
|
- Update to latest upstream release
|
||||||
|
- Minor tweaks to init script for LSB compliance
|
||||||
|
|
||||||
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 20 2009 Doug Ledford <dledford@redhat.com> - 3.3.2-1
|
||||||
|
- Update to latest upstream version
|
||||||
|
|
||||||
|
* Wed Apr 22 2009 Doug Ledford <dledford@redhat.com> - 3.3.1-1
|
||||||
|
- Update to latest upstream version
|
||||||
|
|
||||||
|
* Fri Mar 06 2009 Caolán McNamara <caolanm@redhat.com> - 3.2.1-3
|
||||||
|
- fix bare elifs to rebuild
|
||||||
|
|
||||||
|
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Jun 08 2008 Doug Ledford <dledford@redhat.com> - 3.2.1-1
|
||||||
|
- Initial package for Fedora review process
|
Loading…
Reference in New Issue
Block a user