[openib-general] FW: patches to 2.6.19.1 kernel for switch Operation
Hal Rosenstock
halr at voltaire.com
Mon Feb 12 06:43:26 PST 2007
On Mon, 2007-02-12 at 09:13, Suresh Shelvapille wrote:
> Just copying the list.
>
> -----Original Message-----
> From: Suresh Shelvapille [mailto:suri at baymicrosystems.com]
> Sent: Friday, February 09, 2007 4:33 PM
> To: 'Hal Rosenstock'
> Subject: RE: patches to 2.6.19.1 kernel for switch Operation
>
>
>
> Hal:
>
> Many thanks for your response,
>
> Ref: comment on mad.c (ib_mad_recv_done_handler().
>
> Even if I make the relevant changes to smi.c functions how do I get the
> packet to get forwarded, without making additional changes in this function?
>
> Meaning, when smi_handle_dr_smp_send(),smi_check_forward_dr_smp() are called
> and you determine that the packet has to be forwarded instead of consuming
> where do you actually do the send? I think this chain is missing!
My initial thought was what I wrote but in looking at this further, as
you point out, the SMI routines are only updating the packet and
indicating its disposition. The actual sending needs to be elsewhere.
I'm not sure what the code ends up looking like with the changes
suggested and would just like this to look as clean as possible and use
the SMI routines where appropriate here. Does this make sense ?
-- Hal
> Thanks,
> Suri
>
> > + if (!agent_send_response(&response->mad.mad,
> > + &response->grh, wc,
> > + port_priv->device,
> > + port_num,
> > + qp_info->qp->qp_num))
> > + response = NULL;
> >
> > Per the above change, it appears that smi_check_forward_dr_smp and
> > smi_handle_dr_smp_send are no longer used at least here
> > (smi_check_forward_dr_smp is not used at all with this change). Couldn't
> > these be fixed to do the right thing for this case (as well as existing
> > cases) ? I'm not sure your changes work for end ports (CA and router
> > ports).
> >
> > Also, based on smi comments below, there might also be changes to
> > following:
> > + if (!ib_get_smp_direction(&recv->mad.smp))
> > + port_num =
> > recv->mad.smp.initial_path[recv->mad.smp.hop_ptr+1];
> > + else
> > + port_num =
> > recv->mad.smp.return_path[recv->mad.smp.hop_ptr-1];
> > +
> >
>
>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>
More information about the general
mailing list