[PATCH] opensm/opensm/osm_subnet.c: add checks for HOQ and Leaf HOQ input values (Was: Re: [ofa-general] XmtDiscards)
Hal Rosenstock
hrosenstock at xsigo.com
Mon Apr 7 10:06:06 PDT 2008
On Mon, 2008-04-07 at 09:49 -0700, Ira Weiny wrote:
> On Sat, 05 Apr 2008 06:17:59 -0700
> Hal Rosenstock <hrosenstock at xsigo.com> wrote:
>
> > On Fri, 2008-04-04 at 17:48 -0700, Boris Shpolyansky wrote:
> > > Bernd,
> > >
> > > 0x14 is the maximal value for HOQ lifetime, which effectively disables
> > > the mechanism. I think you shouldn't exceed this value.
> >
> > True about the maximal value but any 5 bit value > 19 (up through 31)
> > should effectively be the same thing according to the spec.
> >
> > I also think that OpenSM could do a better job validating and setting
> > this and other similar optional parameters.
> >
>
> As a start here is a patch which checks the HOQ life values.
>
> Ira
>
> From 9e05f091a3c9173045f523aee245e98af1bf74f3 Mon Sep 17 00:00:00 2001
> From: Ira K. Weiny <weiny2 at llnl.gov>
> Date: Mon, 7 Apr 2008 08:31:46 -0700
> Subject: [PATCH] opensm/opensm/osm_subnet.c: add checks for HOQ and Leaf HOQ input values
>
>
> Signed-off-by: Ira K. Weiny <weiny2 at llnl.gov>
> ---
> opensm/opensm/osm_subnet.c | 22 ++++++++++++++++++++++
> 1 files changed, 22 insertions(+), 0 deletions(-)
>
> diff --git a/opensm/opensm/osm_subnet.c b/opensm/opensm/osm_subnet.c
> index 47d735f..29d7cdc 100644
> --- a/opensm/opensm/osm_subnet.c
> +++ b/opensm/opensm/osm_subnet.c
> @@ -1045,6 +1045,28 @@ static void subn_verify_conf_file(IN osm_subn_opt_t * const p_opts)
> p_opts->force_link_speed = IB_PORT_LINK_SPEED_ENABLED_MASK;
> }
>
> + if (0x14 < p_opts->head_of_queue_lifetime) {
> + sprintf(buff,
> + " Invalid Cached Option Value:head_of_queue_lifetime = %u:"
> + "Using Default:%u\n", p_opts->head_of_queue_lifetime,
> + OSM_DEFAULT_HEAD_OF_QUEUE_LIFE);
> + printf(buff);
> + cl_log_event("OpenSM", CL_LOG_INFO, buff, NULL, 0);
> + p_opts->head_of_queue_lifetime =
> + OSM_DEFAULT_HEAD_OF_QUEUE_LIFE;
> + }
> +
> + if (0x14 < p_opts->leaf_head_of_queue_lifetime) {
> + sprintf(buff,
> + " Invalid Cached Option Value:leaf_head_of_queue_lifetime = %u:"
> + "Using Default:%u\n", p_opts->leaf_head_of_queue_lifetime,
> + OSM_DEFAULT_LEAF_HEAD_OF_QUEUE_LIFE);
> + printf(buff);
> + cl_log_event("OpenSM", CL_LOG_INFO, buff, NULL, 0);
> + p_opts->leaf_head_of_queue_lifetime =
> + OSM_DEFAULT_LEAF_HEAD_OF_QUEUE_LIFE;
> + }
> +
Should these be set to max rather than default as it seems that that's
what they're more likely trying to do ?
-- Hal
> if (strcmp(p_opts->console, OSM_DISABLE_CONSOLE)
> && strcmp(p_opts->console, OSM_LOCAL_CONSOLE)
> #ifdef ENABLE_OSM_CONSOLE_SOCKET
More information about the general
mailing list