[openib-general] [PATCH] osm: added an option for providing dump function per routing engine
Hal Rosenstock
halr at voltaire.com
Wed Dec 20 06:36:55 PST 2006
Hi Yevgeny,
On Wed, 2006-12-20 at 08:49, Yevgeny Kliteynik wrote:
> Hi Hal,
>
> Hal Rosenstock wrote:
> > Hi Yevgeny,
> >
> > On Tue, 2006-12-19 at 14:37, Yevgeny Kliteynik wrote:
> >> Hi Hal
> >>
> >> As you suggested, added an option for providing dump
> >> function per routing engine.
> >>
> >> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
> >
> > Thanks, Applied.
> >
> > One minor question below:
> >
> >> osm/include/opensm/osm_opensm.h | 4 ++++
> >> osm/opensm/osm_ucast_mgr.c | 23 ++++++++++++++---------
> >> 2 files changed, 18 insertions(+), 9 deletions(-)
> >
> > [snip...]
> >
> >> diff --git a/osm/opensm/osm_ucast_mgr.c b/osm/opensm/osm_ucast_mgr.c
> >> index e051c66..fcf6f72 100644
> >> --- a/osm/opensm/osm_ucast_mgr.c
> >> +++ b/osm/opensm/osm_ucast_mgr.c
> >
> > [snip...]
> >
> >> @@ -1256,16 +1257,20 @@ osm_ucast_mgr_process(
> >> build and download the switch forwarding tables.
> >> */
> >>
> >> - if (!p_routing_eng->ucast_build_fwd_tables ||
> >> - p_routing_eng->ucast_build_fwd_tables(p_routing_eng->context) != 0)
> >> - {
> >> - cl_qmap_apply_func( p_sw_guid_tbl,
> >> - __osm_ucast_mgr_process_tbl, p_mgr );
> >> - }
> >> + if ( p_routing_eng->ucast_build_fwd_tables &&
> >> + (p_routing_eng->ucast_build_fwd_tables(p_routing_eng->context) == 0) )
> >> + default_routing = FALSE;
> >> + else
> >> + cl_qmap_apply_func( p_sw_guid_tbl, __osm_ucast_mgr_process_tbl, p_mgr );
> >>
> >> /* dump fdb into file: */
> >> if ( osm_log_is_active( p_mgr->p_log, OSM_LOG_ROUTING ) )
> >> - __osm_ucast_mgr_dump_tables( p_mgr );
> >> + {
> >> + if ( !default_routing && p_routing_eng->ucast_dump_tables )
> >> + p_routing_eng->ucast_dump_tables(p_routing_eng->context);
> >> + else
> >> + __osm_ucast_mgr_dump_tables( p_mgr );
> >> + }
> >
> > Not sure if this is best going forward. Should it be like this:
> >
> > if ( default_routing )
> > __osm_ucast_mgr_dump_tables( p_mgr );
> > else
> > {
> > if ( p_routing_eng->ucast_dump_tables != 0 )
> > p_routing_eng->ucast_dump_tables(p_routing_eng->context);
> > }
>
> But then what if I have some routing engine that wants to use
> default dump functions, like updn?
>
> So in my approach is as follows:
> - If a routing engine wants to use default dump functions,
> it should *not* define any dump function of its own.
> - If a routing engine does *not* want to dump anything, it
> should define a dummy dump function of its own.
>
> You're suggesting the following:
> - If a routing engine wants to use default dump functions,
> it should define dump function that will call default function.
> - If a routing engine does *not* want to dump anything, it
> should *not* define any dump function of its own.
>
> I'm OK with both approaches - your call.
You're right. It's 6 of one half a dozen of another. Let's leave it
alone.
-- Hal
> -- Yevgeny.
>
> > -- Hal
> >
>
More information about the general
mailing list