This defines QoS configuration parameters set for routers.

Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]>
---

 osm/include/opensm/osm_subnet.h |    4 ++++
 osm/opensm/osm_qos.c            |    6 +++++-
 osm/opensm/osm_subnet.c         |   10 ++++++++++
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/osm/include/opensm/osm_subnet.h b/osm/include/opensm/osm_subnet.h
index 33ab3f5..319c494 100644
--- a/osm/include/opensm/osm_subnet.h
+++ b/osm/include/opensm/osm_subnet.h
@@ -284,6 +284,7 @@ typedef struct _osm_subn_opt
   osm_qos_options_t        qos_hca_options;
   osm_qos_options_t        qos_sw0_options;
   osm_qos_options_t        qos_swe_options;
+  osm_qos_options_t        qos_rtr_options;
 } osm_subn_opt_t;
 /*
 * FIELDS
@@ -448,6 +449,9 @@ typedef struct _osm_subn_opt
 *  qos_swe_options
 *     QoS options for switches' external ports
 *
+*  qos_rtr_options
+*     QoS options for router ports
+*
 * SEE ALSO
 *      Subnet object
 *********/
diff --git a/osm/opensm/osm_qos.c b/osm/opensm/osm_qos.c
index ade601c..fbd7773 100644
--- a/osm/opensm/osm_qos.c
+++ b/osm/opensm/osm_qos.c
@@ -309,7 +309,7 @@ static ib_api_status_t qos_physp_setup(o
 
 osm_signal_t osm_qos_setup(osm_opensm_t * p_osm)
 {
-       struct qos_config hca_config, sw0_config, swe_config;
+       struct qos_config hca_config, sw0_config, swe_config, rtr_config;
        struct qos_config *cfg;
        osm_switch_t *p_sw;
        ib_switch_info_t *p_si;
@@ -333,6 +333,8 @@ osm_signal_t osm_qos_setup(osm_opensm_t 
                         &p_osm->subn.opt.qos_options);
        qos_build_config(&swe_config, &p_osm->subn.opt.qos_swe_options,
                         &p_osm->subn.opt.qos_options);
+       qos_build_config(&rtr_config, &p_osm->subn.opt.qos_rtr_options,
+                        &p_osm->subn.opt.qos_options);
 
        cl_plock_excl_acquire(&p_osm->lock);
 
@@ -362,6 +364,8 @@ osm_signal_t osm_qos_setup(osm_opensm_t 
 
                        cfg = &sw0_config;
                }
+               else if (node_type == IB_NODE_TYPE_ROUTER)
+                       cfg = &rtr_config;
                else
                        cfg = &hca_config;
 
diff --git a/osm/opensm/osm_subnet.c b/osm/opensm/osm_subnet.c
index ab5d88e..48f0305 100644
--- a/osm/opensm/osm_subnet.c
+++ b/osm/opensm/osm_subnet.c
@@ -475,6 +475,7 @@ osm_subn_set_default_opt(
   subn_set_default_qos_options(&p_opt->qos_hca_options);
   subn_set_default_qos_options(&p_opt->qos_sw0_options);
   subn_set_default_qos_options(&p_opt->qos_swe_options);
+  subn_set_default_qos_options(&p_opt->qos_rtr_options);
 }
 
 /**********************************************************************
@@ -722,6 +723,9 @@ osm_subn_rescan_conf_file(
       subn_parse_qos_options("qos_swe",
         p_key, p_val, &p_opts->qos_swe_options);
 
+      subn_parse_qos_options("qos_rtr",
+        p_key, p_val, &p_opts->qos_rtr_options);
+
     }
   }
   fclose(opts_file);
@@ -928,6 +932,9 @@ osm_subn_parse_conf_file(
       subn_parse_qos_options("qos_swe",
         p_key, p_val, &p_opts->qos_swe_options);
 
+      subn_parse_qos_options("qos_rtr",
+        p_key, p_val, &p_opts->qos_rtr_options);
+
     }
   }
   fclose(opts_file);
@@ -1141,6 +1148,9 @@ osm_subn_write_conf_file(
   fprintf(opts_file, "\n");
   subn_dump_qos_options(opts_file,
     "QoS Switch external ports options", "qos_swe", &p_opts->qos_swe_options);
+  fprintf(opts_file, "\n");
+  subn_dump_qos_options(opts_file,
+    "QoS router ports options", "qos_rtr", &p_opts->qos_rtr_options);
 
   /* optional string attributes ... */
   
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to