Reading QoS policy file

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 opensm/opensm/osm_qos.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/opensm/opensm/osm_qos.c b/opensm/opensm/osm_qos.c
index dff9996..d512f53 100644
--- a/opensm/opensm/osm_qos.c
+++ b/opensm/opensm/osm_qos.c
@@ -52,6 +52,8 @@
 #include <complib/cl_debug.h>
 #include <opensm/osm_opensm.h>
 #include <opensm/osm_subnet.h>
+#include <opensm/osm_qos_policy.h>
+#include <sys/stat.h>
 
 struct qos_config {
        uint8_t max_vls;
@@ -279,12 +281,38 @@ osm_signal_t osm_qos_setup(osm_opensm_t * p_osm)
        ib_api_status_t status;
        unsigned force_update;
        uint8_t i;
+       struct stat statbuf;
 
        if (p_osm->subn.opt.no_qos)
                return OSM_SIGNAL_DONE;
 
        OSM_LOG_ENTER(&p_osm->log, osm_qos_setup);
 
+       /* read QoS policy config file */
+       if ( !stat(p_osm->subn.opt.qos_policy_file, &statbuf) )
+       {
+               static boolean_t first_time = TRUE;
+               if ( first_time )
+               {
+                       osm_log(&p_osm->log, OSM_LOG_INFO,
+                                       "osm_qos_setup: Loading QoS policy file 
%s\n",
+                                       p_osm->subn.opt.qos_policy_file);
+                       first_time = FALSE;
+               }
+               if ( !osm_qos_parse_policy_file(&p_osm->log, 
p_osm->subn.opt.qos_policy_file) )
+                       osm_log(&p_osm->log, OSM_LOG_VERBOSE,
+                                       "osm_qos_setup: QoS policy file %s 
parsed successfully\n",
+                                       p_osm->subn.opt.qos_policy_file);
+               else
+                       osm_log(&p_osm->log, OSM_LOG_ERROR,
+                                       "osm_qos_setup: ERR 6204: Failed 
parsing QoS policy file %s\n",
+                                       p_osm->subn.opt.qos_policy_file);
+       }
+
+       /*
+        * ToDo: Setup QoS on the fabric according to QoS policy
+        */
+
        qos_build_config(&ca_config, &p_osm->subn.opt.qos_ca_options,
                         &p_osm->subn.opt.qos_options);
        qos_build_config(&sw0_config, &p_osm->subn.opt.qos_sw0_options,
-- 
1.5.1.4

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to