> > Export the mad snooping capability to user space clients
> > through the existing umad interface.  This will allow
> > users to capture MAD data for debugging, plus it allows
> > for services to act on MAD traffic that occurs.
> 
> Should it also be noted that snooping of RMPP'd MADs occurs at the
> reassembled packet level with the last header being indicated ?

I thought that the mad layer ending up reporting snooped MADs before reassembly 
and after segmentation.  It's been a while since I've used madeye, but that's 
what I remember.  I guess I'll find out during testing and make whatever 
adjustments are necessary, but I agree that this should be documented.

On a side note, while writing up this patch, it looks like madeye handles the 
data portion of sent RMPP MADs incorrectly.  It doesn't reference the data 
portion (beyond the RMPP/MAD headers) correctly.  See the snoop_send_handler 
for how I think this needs to be handled.

> > diff --git a/include/rdma/ib_user_mad.h b/include/rdma/ib_user_mad.h
> > index d6fce1c..0c40861 100644
> > --- a/include/rdma/ib_user_mad.h
> > +++ b/include/rdma/ib_user_mad.h
> > @@ -165,10 +165,36 @@ struct ib_user_mad {
> >  typedef unsigned long __attribute__((aligned(4))) packed_ulong;
> >  #define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long)))
> >
> > +enum {
> > +       IB_UMAD_QP0,
> > +       IB_UMAD_QP1,
> > +       IB_UMAD_SNOOP = 0x80,
> > +       IB_UMAD_SNOOP_QP0 = IB_UMAD_SNOOP & IB_UMAD_QP0,
> > +       IB_UMAD_SNOOP_QP1 = IB_UMAD_SNOOP & IB_UMAD_QP1
> > +};
> 
> typos above: s.b. | r.t. &

yep - thanks

> > + * @qpn - Queue pair number; must be 0 or 1.  If the upper bit of the
> qpn
> > + *   is set to 1, then the registration will be set to snoop traffic
> > + *   over that QP.
> 
> Should this take half the qpn space or be two specific values ?

Two specific values is probably better.  Note that the umad interface specifies 
the qpn using 8-bits, so we're definitely limited on the qpns that we could 
ever support.  I know there's been discussion about possibly adding more 
reserved QPs, so I'm not sure what the best two values to reserve would be.

N�����r��y����b�X��ǧv�^�)޺{.n�+����{��ٚ�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i

Reply via email to