[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