[openib-general] [PATCH 2/2] ib_cm: fix REJ due to invalid GID
Sean Hefty
mshefty at ichips.intel.com
Tue Jul 18 12:21:07 PDT 2006
Arne Redlich wrote:
> Yep - the Gen1 SRP initiator does. It sends a REQ with an invalid DGID.
> If rejected with the correct code (INVALID GID), it will retry after
> looking up the GID.
Didn't it have a DGID from a path record that it had to get before sending the REQ?
>>> cm_format_paths_from_req(req_msg, &work->path[0], &work->path[1]);
>>> ret = cm_init_av_by_path(&work->path[0], &cm_id_priv->av);
>>>- if (ret)
>>>+ if (ret) {
>>>+ cm_issue_rej(work->port, work->mad_recv_wc, IB_CM_INVALID_GID,
>>>+ CM_MSG_RESPONSE_REQ, NULL, 0);
>>>+ reject = 0;
>>> goto error3;
>>>+ }
>>> if (req_msg->alt_local_lid) {
>>> ret = cm_init_av_by_path(&work->path[1], &cm_id_priv->alt_av);
>>>- if (ret)
>>>+ if (ret) {
>>>+ cm_issue_rej(work->port, work->mad_recv_wc,
>>>+ IB_CM_INVALID_ALT_GID, CM_MSG_RESPONSE_REQ,
>>>+ NULL, 0);
>>>+ reject = 0;
>>> goto error3;
I missed this before, but the reject message must also contain a valid GID in
the ARI data.
I'm working on a patch based on the changes above to try to fix this.
- Sean
More information about the general
mailing list