[openib-general] [PATCH] agent: Fix agent_mad_send PCI mapping and gather address and length
Hal Rosenstock
halr at voltaire.com
Tue Nov 9 19:26:07 PST 2004
On Tue, 2004-11-09 at 18:54, Roland Dreier wrote:
> OK, I think I understand the problem, but I'm not sure what the
> correct solution is. When a DR SMP arrives at a CA from the SM,
> hop_cnt == hop_ptr == number of hops in the directed route,
What was the number ?
> and somehow they are not updated correctly by the time the response
> reaches handle_outgoing_smp().
>
> I can't follow the code well enough to understand why all DR SMPs have
> to go through both smi_handle_dr_smp_recv() and
> smi_handle_dr_smp_send() but the patch below seems to correct things
> for me (ports go to ACTIVE on all my systems). (handle_outgoing_smp()
> already calls smi_handle_dr_smp_recv() so it seems the response was
> getting passed to smi_handle_dr_smp_recv() twice).
I integrated this patch and checked it back in. I don't think this is
the solution for all cases (and something else is broken).
The second call to smi_handle_dr_smp_recv was to validate the DR in the
response packet before sending it. The response would be a returning DR
packet (D bit 1). If hop_cnt == hop_ptr,
I suspect this has been broken since r1163 (not including the other
things I broke in it today).
I will do some more work in understanding this tomorrow.
-- Hal
More information about the general
mailing list