[openib-general] Re: ib_send_cm_req failes with error -22
susan
ssbyrn at yahoo.com
Thu Apr 20 14:24:11 PDT 2006
Sean Hefty <mshefty <at> ichips.intel.com> writes:
>
> -22 (EINVAL) indicates that one of the parameters is invalid.
> The initial checks done by the ib_cm are:
>
> /* peer-to-peer not supported */
> if (param->peer_to_peer)
> return -EINVAL;
>
> if (!param->primary_path)
> return -EINVAL;
>
> if (param->qp_type != IB_QPT_RC && param->qp_type != IB_QPT_UC)
> return -EINVAL;
>
> if (param->private_data &&
> param->private_data_len > IB_CM_REQ_PRIVATE_DATA_SIZE)
> return -EINVAL;
>
> if (param->alternate_path &&
> (param->alternate_path->pkey != param->primary_path->pkey ||
> param->alternate_path->mtu != param->primary_path->mtu))
> return -EINVAL;
>
> Can you verify that the input parameter would pass these tests?
> There are some more tests further down in the code that could
> also return this same error if these all pass. Posting the
> actual code that calls ib_send_cm_req() may also help debug the
> problem.
>
> - Sean
>
Sean,
the error is returned by cm_init_av_by_path routine in
ib_send_cm_req(). the function fails because it is unable
to lookup gid in its cache -- function ib_find_cached_gid()
fails.
i don't why gid isn't cached. did i missed something.
where can i download stable version of ib gen2 stack?
thanks,
susan.
More information about the general
mailing list