[openib-general] APM support in openib stack

somenath somenath at veritas.com
Mon Oct 23 18:37:42 PDT 2006


I don't see that API( ib_cm_init_rearm_attr() the build I am using.

so I I use a function like this:

modifyqp_rearm(con_t *con) {
    struct ib_qp_attr qp_attr;
    int qp_attr_mask =0;
    int ib_stat =0;

    memset(&qp_attr, 0, sizeof(struct   ib_qp_attr));

    qp_attr.qp_state = IB_QPS_RTS;
    ib_stat = ib_cm_init_qp_attr(
                con ->cm_id,
                &qp_attr,
                &qp_attr_mask);
    if (ib_stat) {
                return ib_stat;
    }
   
    qp_attr.path_mig_state = IB_MIG_REARM;
    qp_attr_mask |= IB_QP_PATH_MIG_STATE;
   
   ib_stat = ib_modify_qp(con->qp, &qp_attr, qp_attr_mask);
    if (ib_stat) {
        return ib_stat;
    }
    return 0;
}

Active side sends the LAP. Both side is called with APR event.
I call this function at the APR handler and it returns me the error -22
when tried to ib_modify_qp().

see anything wrong? do I have to set anything else?
or is it broken in the build I am using?

thanks, som.


Venkatesh Babu wrote:

> 1. No my application has to make the state trasition from RTS to RTS.
> In case of failover set path_mig_state to IB_MIG_MIGRATED.
>
> In case of rearming call the function ib_cm_init_rearm_attr(). This 
> function is defined in the bug#172.
>
> 2. No, I have my own ULP module which sits alongside to the SDP, SRP, 
> IPoIB modules.
>
> VBabu
>
> somenath wrote:
>
>> Venkatesh Babu wrote:
>>
>>> 1. Yes, I can rearm the alternate path by sending LAP and APR messages.
>>
>>
>>
>>
>> does the qpair go to rearm state just by sending LAP and APR messages?
>> I mean, you don't have to change the QP state to REARM explicitely?
>>
>>>
>>> 2. I was sending some network traffic (netperf) while doing these 
>>> failovers.
>>>
>> so, I assume its SDP's APM feature gets tested? is that true?
>>
>> thanks, som.
>>





More information about the general mailing list