[openib-general] RE: [PATCH] vendor: identify rmpp mads

Hal Rosenstock halr at voltaire.com
Mon Mar 20 03:06:14 PST 2006


Hi Ofer,

On Sun, 2006-03-19 at 12:59, Ofer Gigi wrote:
> Hi Hal,
> 
> Please check-in the change in osm_vendor_mlx_svc.h

Done. Applied.

> I have tested it for IB_MCLASS_SUBN_ADM
> 
> As far as I know BIS, DevAdm and the vendor classes range are not part
> of the management,

They are (and can be fixed in a subsequent patch if you care).

>  so they are not needed in this patch (but should be
> added to Kernel file mad.c I sent you - if it's not there, I looked on
> the file mad.c in my machine, and I am not sure it is updated)

I've been working on a proper patch for this. Several cuts at this were
sent out after you posted the issue and an initial patch.

-- Hal

> Thanks!
> Ofer
> 
> 
> -----Original Message-----
> From: Hal Rosenstock [mailto:halr at voltaire.com] 
> Sent: Friday, March 17, 2006 2:07 AM
> To: Ofer Gigi
> Cc: OPENIB
> Subject: Re: [PATCH] vendor: identify rmpp mads
> 
> Hi Ofer,
> 
> On Thu, 2006-03-16 at 12:14, Ofer Gigi wrote:
> > Hi Hal,
> > 
> > RMPP mad can only sent in 4 kinds of mad:
> > 1. IB_MCLASS_SUBN_ADM 
> > 2. IB_MCLASS_DEV_MGMT 
> > 3. BIS 
> > 4. DevAdm
> 
> There are more than these. There is also the vendor class 2 range as
> well.
> 
> > If the packet is not 1 or 2 - the mad is not checked and returned in
> advance as not a 
> > rmpp packet.
> > Since 3,4 are not management classes (see 13.4.4 page 720 in the spec)
> I don't know 
> > whether they are defined as constants or not - so I didn't handle
> them.
> 
> 3 and 4 are management classes defined in the IBA 1.2 annexes (and do
> support RMPP).
> 
> > Thanks
> > 
> > Ofer G.
> > 
> > Signed-off-by:  Ofer Gigi <oferg at mellanox.co.il>
> > 
> > Index: osm_vendor_mlx_svc.h
> > ===================================================================
> > --- osm_vendor_mlx_svc.h        (revision 5836)
> > +++ osm_vendor_mlx_svc.h        (working copy)
> > @@ -116,6 +116,9 @@ osmv_mad_is_rmpp(IN const ib_mad_t *p_ma
> >      CL_ASSERT(NULL != p_mad);
> >  
> >      rmpp_flags = ((ib_rmpp_mad_t*)p_mad)->rmpp_flags;
> > +    /* HACK - JUST SA and DevMgt for now - need to add BIS and
> DevAdm*/
> > +    if ( (p_mad->mgmt_class != CL_NTOH16(IB_MCLASS_SUBN_ADM)) &&
> > +                (p_mad->mgmt_class != CL_NTOH16(IB_MCLASS_DEV_MGMT))
> ) return(0);
> >      return (0 != (rmpp_flags & IB_RMPP_FLAG_ACTIVE));
> >  }
> 
> Given the above comments, what do you want me to do with this ?
> 
> Also, I have no way of testing this. Should I just check it in ?
> 
> -- Hal




More information about the general mailing list