[openib-general] [Bug 160] New: OFED1.0: ib_modify_qp() of RC QP fails with -EINVAL

bugzilla-daemon at openib.org bugzilla-daemon at openib.org
Wed Jun 28 12:55:00 PDT 2006


http://openib.org/bugzilla/show_bug.cgi?id=160

           Summary: OFED1.0: ib_modify_qp() of RC QP fails with -EINVAL
           Product: OpenFabrics Linux
           Version: gen2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: Verbs
        AssignedTo: bugzilla at openib.org
        ReportedBy: venkatesh.babu at 3leafnetworks.com


I have created a RC QP and estblishing a connection with remote RC QP using the
interfaces defined in ib_cm.h. I was loading the alternate_path before calling
ib_send_cm_req(). To transition the RC QP to IB_QPS_RTR state, I was calling
ib_cm_init_qp_attr() to initialize the struct ib_qp_attr and calling
ib_modify_qp(). It faild with -EINVAL.

I found that this problem is due to a bug in ib_cm_init_qp_attr() which was not
initializing the struct ib_qp_attr fields correctly. I made the following
changes in cm_init_qp_rtr_attr() of
openib-1.0/src/linux-kernel/infiniband/core/cm.c

                if (cm_id_priv->alt_av.ah_attr.dlid) {
                        *qp_attr_mask |= IB_QP_ALT_PATH;
+                        qp_attr->alt_port_num =
+                               cm_id_priv->alt_av.port->port_num;
                         qp_attr->alt_ah_attr = cm_id_priv->alt_av.ah_attr;
                }

With this patch ib_modify_qp() worked fine and I was able to establish the
connection with remote RC QP.




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the general mailing list