[openib-general] Is an umad_close_port a good idea after I disconnect from the SA with osm_vendor_delete ?

Sasha Khapyorsky sashak at voltaire.com
Fri Dec 1 06:19:01 PST 2006


Hi Thomas,

On 10:12 Fri 01 Dec     , Bub Thomas wrote:
> Sasha,
> I'm having trouble to get the patch applied.
> I patched the source file in the ofed-1.1 distribution tgz'ed the SOURCE
> path but after running the ofed-install script the sources in the
> /usr/local/ofed din't contain that patch anymore.
> Can you help me out of the dark and tell me how to build the
> libvendor.so out of/on the ofed-1.1/SOURCES tree.

Never did it personally, but you may want to look at
https://openib.org/tiki/tiki-index.php?page=OFED+Support
for how ofed_patch.sh does this.

And you can use svn or git versions of management/osm as well.

Sasha

> Thanks
> Thomas
> 
> 
> > -----Original Message-----
> > From: Sasha Khapyorsky [mailto:sashak at voltaire.com]
> > Sent: Monday, November 27, 2006 5:43 PM
> > To: Bub Thomas
> > Cc: Tziporet Koren; openib-general at openib.org; Erez Cohen
> > Subject: Re: [openib-general] Is an umad_close_port a good idea after
> I
> > disconnect from the SA with osm_vendor_delete ?
> > 
> > On 14:13 Mon 27 Nov     , Bub Thomas wrote:
> > >
> > > Sasha,
> > > whom to ask to add this to the osm_vendor functions?
> > 
> > Please test this patch:
> > 
> > diff --git a/osm/libvendor/osm_vendor_ibumad.c
> > b/osm/libvendor/osm_vendor_ibumad.c
> > index e82695f..4205b23 100644
> > --- a/osm/libvendor/osm_vendor_ibumad.c
> > +++ b/osm/libvendor/osm_vendor_ibumad.c
> > @@ -545,10 +545,15 @@ osm_vendor_delete(
> >  	umad_receiver_t *p_ur;
> >  	int agent_id;
> > 
> > -	/* unregister UMAD agents */
> > -	for (agent_id = 0; agent_id < UMAD_CA_MAX_AGENTS; agent_id++)
> > -		if ( (*pp_vend)->agents[agent_id] )
> > -			umad_unregister( (*pp_vend)->umad_port_id,
> agent_id );
> > +	if ((*pp_vend)->umad_port_id >= 0) {
> > +		/* unregister UMAD agents */
> > +		for (agent_id = 0; agent_id < UMAD_CA_MAX_AGENTS;
> agent_id++)
> > +			if ( (*pp_vend)->agents[agent_id] )
> > +
> umad_unregister((*pp_vend)->umad_port_id,
> > +						agent_id );
> > +		umad_close_port((*pp_vend)->umad_port_id);
> > +		(*pp_vend)->umad_port_id = -1;
> > +	}
> > 
> >  	clear_madw( *pp_vend );
> >  	/* make sure all ports are closed */
> > 
> > 
> > > Or should I file a bug for this
> > 
> > Good idea too.
> > 
> > Sasha
> 
> 




More information about the general mailing list