[ofa-general] [PATCH 7/7 V3] osm: QoS - reading policy file
Yevgeny Kliteynik
kliteyn at dev.mellanox.co.il
Mon Aug 27 16:11:46 PDT 2007
Reading QoS policy file
Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
---
opensm/include/opensm/osm_subnet.h | 16 ++++++++--------
opensm/opensm/osm_state_mgr.c | 2 +-
opensm/opensm/osm_subnet.c | 17 +++++++++++------
3 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/opensm/include/opensm/osm_subnet.h b/opensm/include/opensm/osm_subnet.h
index 5e8b522..7e1a3e7 100644
--- a/opensm/include/opensm/osm_subnet.h
+++ b/opensm/include/opensm/osm_subnet.h
@@ -1118,28 +1118,28 @@ ib_api_status_t osm_subn_parse_conf_file(IN osm_subn_opt_t * const p_opt);
* Subnet object, osm_subn_construct, osm_subn_destroy
*********/
-/****f* OpenSM: Subnet/osm_subn_parse_conf_file
+/****f* OpenSM: Subnet/osm_subn_parse_conf_files
* NAME
-* osm_subn_rescan_conf_file
+* osm_subn_rescan_conf_files
*
* DESCRIPTION
-* The osm_subn_rescan_conf_file function parses the configuration
-* file and update selected subnet options
+* The osm_subn_rescan_conf_files function parses the configuration
+* files and update selected subnet options
*
* SYNOPSIS
*/
-ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts);
+ib_api_status_t osm_subn_rescan_conf_files(IN osm_subn_t * const p_subn);
/*
* PARAMETERS
*
-* p_opt
-* [in] Pointer to the subnet options structure.
+* p_subn
+* [in] Pointer to the subnet structure.
*
* RETURN VALUES
* IB_SUCCESS, IB_ERROR
*
* NOTES
-* This uses the same file as osm_subn_parse_conf_file()
+* This uses the same file as osm_subn_parse_conf_files()
*
*********/
diff --git a/opensm/opensm/osm_state_mgr.c b/opensm/opensm/osm_state_mgr.c
index 030d344..2a94518 100644
--- a/opensm/opensm/osm_state_mgr.c
+++ b/opensm/opensm/osm_state_mgr.c
@@ -1878,7 +1878,7 @@ void osm_state_mgr_process(IN osm_state_mgr_t * const p_mgr,
p_mgr->p_subn->subnet_initialization_error = FALSE;
/* rescan configuration updates */
- status = osm_subn_rescan_conf_file(&p_mgr->p_subn->opt);
+ status = osm_subn_rescan_conf_files(p_mgr->p_subn);
if (status != IB_SUCCESS) {
osm_log(p_mgr->p_log,
OSM_LOG_ERROR,
diff --git a/opensm/opensm/osm_subnet.c b/opensm/opensm/osm_subnet.c
index 4162522..c847daf 100644
--- a/opensm/opensm/osm_subnet.c
+++ b/opensm/opensm/osm_subnet.c
@@ -69,6 +69,7 @@
#include <opensm/osm_console.h>
#include <opensm/osm_perfmgr.h>
#include <opensm/osm_event_plugin.h>
+#include <opensm/osm_qos_policy.h>
#if defined(PATH_MAX)
#define OSM_PATH_MAX (PATH_MAX + 1)
@@ -677,7 +678,7 @@ subn_dump_qos_options(FILE * file,
/**********************************************************************
**********************************************************************/
-ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts)
+ib_api_status_t osm_subn_rescan_conf_files(IN osm_subn_t * const p_subn)
{
char *p_cache_dir = getenv("OSM_CACHE_DIR");
char file_name[OSM_PATH_MAX];
@@ -704,28 +705,32 @@ ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts)
subn_parse_qos_options("qos",
p_key, p_val,
- &p_opts->qos_options);
+ &p_subn->opt.qos_options);
subn_parse_qos_options("qos_ca",
p_key, p_val,
- &p_opts->qos_ca_options);
+ &p_subn->opt.qos_ca_options);
subn_parse_qos_options("qos_sw0",
p_key, p_val,
- &p_opts->qos_sw0_options);
+ &p_subn->opt.qos_sw0_options);
subn_parse_qos_options("qos_swe",
p_key, p_val,
- &p_opts->qos_swe_options);
+ &p_subn->opt.qos_swe_options);
subn_parse_qos_options("qos_rtr",
p_key, p_val,
- &p_opts->qos_rtr_options);
+ &p_subn->opt.qos_rtr_options);
}
}
fclose(opts_file);
+ /* read QoS policy config file */
+ if (!p_subn->opt.no_qos)
+ osm_qos_parse_policy_file(p_subn);
+
return IB_SUCCESS;
}
--
1.5.1.4
More information about the general
mailing list