Dear all,

Now I am studying the openib component, and I find it is really complicated. Here I have one question to ask,  it is as follows:

In the initialization of openib component, the function named setup_qps() is used. In this function, the following code segments are written:
    mca_btl_openib_component.num_pp_qps = num_pp_qps;
    mca_btl_openib_component.num_srq_qps = num_srq_qps;
    mca_btl_openib_component.num_xrc_qps = num_xrc_qps;
    mca_btl_openib_component.num_qps = num_pp_qps + num_srq_qps + num_xrc_qps;

if you run the program in the step way, you will find that at last the value of mca_btl_openib_component.num_qps is 4( the value of num_pp_qps is 1, and the value of        num_srq_qps is 3).  Can someone explain me why 4 QPs(1 normal QP, 3 SRQ QPs) need to be created?

Have a nice day!
Thanks very much!

best regards,