[ofa-general] Re: [PATCH] opensm: add osm_version field to osm_opensm_t object
Hal Rosenstock
hrosenstock at xsigo.com
Thu Jun 26 10:10:56 PDT 2008
On Thu, 2008-06-26 at 01:21 +0300, Sasha Khapyorsky wrote:
> This adds osm_version field to osm_opensm_t object.
Is part of the intention here to use this in plugins ? Is this
versioning of osm_opensm_t for that (and other uses too) ?
If so, that may be a little too granular IMO. Perhaps it should be more
like the libraries in terms of versioning.
More comments on plugin architecture to follow in a bit...
-- Hal
> The value is
> generated in OSM_VERSION macro in osm_version.h file.
>
> Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> ---
> opensm/include/opensm/osm_opensm.h | 4 ++++
> opensm/opensm/osm_console.c | 5 ++---
> opensm/opensm/osm_opensm.c | 5 +++--
> 3 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/opensm/include/opensm/osm_opensm.h b/opensm/include/opensm/osm_opensm.h
> index 285fd88..a1c255b 100644
> --- a/opensm/include/opensm/osm_opensm.h
> +++ b/opensm/include/opensm/osm_opensm.h
> @@ -163,6 +163,7 @@ struct osm_routing_engine {
> * SYNOPSIS
> */
> typedef struct osm_opensm {
> + const char *osm_version;
> osm_subn_t subn;
> osm_sm_t sm;
> osm_sa_t sa;
> @@ -185,6 +186,9 @@ typedef struct osm_opensm {
> } osm_opensm_t;
> /*
> * FIELDS
> +* osm_version
> +* OpenSM version (as generated in osm_version.h)
> +*
> * subn
> * Subnet object for this subnet.
> *
> diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c
> index 7f0b00f..39fb17a 100644
> --- a/opensm/opensm/osm_console.c
> +++ b/opensm/opensm/osm_console.c
> @@ -50,7 +50,6 @@
> #include <ctype.h>
> #include <sys/time.h>
> #include <opensm/osm_console.h>
> -#include <opensm/osm_version.h>
> #include <complib/cl_passivelock.h>
> #include <opensm/osm_perfmgr.h>
> #include <opensm/osm_fwd_tbl.h>
> @@ -312,7 +311,7 @@ static void print_status(osm_opensm_t * p_osm, FILE * out)
> {
> if (out) {
> cl_plock_acquire(&p_osm->lock);
> - fprintf(out, " OpenSM Version: %s\n", OSM_VERSION);
> + fprintf(out, " OpenSM Version: %s\n", p_osm->osm_version);
> fprintf(out, " SM State : %s\n",
> sm_state_str(p_osm->subn.sm_state));
> fprintf(out, " SA State : %s\n",
> @@ -1137,7 +1136,7 @@ static void help_version(FILE * out, int detail)
>
> static void version_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
> {
> - fprintf(out, "%s build %s %s\n", OSM_VERSION, __DATE__, __TIME__);
> + fprintf(out, "%s build %s %s\n", p_osm->osm_version, __DATE__, __TIME__);
> }
>
> /* more parse routines go here */
> diff --git a/opensm/opensm/osm_opensm.c b/opensm/opensm/osm_opensm.c
> index adacd93..0101b97 100644
> --- a/opensm/opensm/osm_opensm.c
> +++ b/opensm/opensm/osm_opensm.c
> @@ -169,6 +169,7 @@ static int osm_ucast_null_setup(osm_opensm_t * p_osm)
> void osm_opensm_construct(IN osm_opensm_t * const p_osm)
> {
> memset(p_osm, 0, sizeof(*p_osm));
> + p_osm->osm_version = OSM_VERSION;
> osm_subn_construct(&p_osm->subn);
> osm_sm_construct(&p_osm->sm);
> osm_sa_construct(&p_osm->sa);
> @@ -283,9 +284,9 @@ osm_opensm_init(IN osm_opensm_t * const p_osm,
> /* If there is a log level defined - add the OSM_VERSION to it */
> osm_log(&p_osm->log,
> osm_log_get_level(&p_osm->log) & (OSM_LOG_SYS ^ 0xFF), "%s\n",
> - OSM_VERSION);
> + p_osm->osm_version);
> /* Write the OSM_VERSION to the SYS_LOG */
> - osm_log(&p_osm->log, OSM_LOG_SYS, "%s\n", OSM_VERSION); /* Format Waived */
> + osm_log(&p_osm->log, OSM_LOG_SYS, "%s\n", p_osm->osm_version); /* Format Waived */
>
> OSM_LOG(&p_osm->log, OSM_LOG_FUNCS, "[\n"); /* Format Waived */
>
More information about the general
mailing list