InfiniBand QP 状态机详解:状态设置、转换与RTS终态

📅 2026/6/16 11:41:02
InfiniBand QP 状态机详解:状态设置、转换与RTS终态
在InfiniBand及RDMA编程中,队列对(Queue Pair,QP)是通信的核心抽象。正确理解QP的状态机、如何通过ibv_modify_qp()进行状态设置以及各个状态之间的合法转换,是开发稳定高效RDMA应用的基石。本文基于对QP状态机常见问题的讨论,系统地梳理了QP的生命周期、属性修改规则以及最终工作状态RTS的含义。一、QP的标准状态机一个QP从创建到销毁,遵循有限状态机模型。标准定义的关键状态如下表所示:状态含义主要特征RESET复位状态QP刚创建或重置后的初始状态,发送队列(SQ)和接收队列(RQ)为空,不参与任何通信。INIT初始化状态已配置基本属性(如端口号、P_Key、允许的远程访问权限等),但尚未指定对端信息,此时只能准备接收请求,不能发送数据。RTR(Ready To Receive)接收就绪已配置目标QP号、接收PSN、地址句柄等,能够接收来自远程的报文,但仍然不能发送。