1 已建链,QP已配置
假设以下动作已完成:
a)创建本地HCA RC QP并连接到本地HCA端口,使用该端口在其与远端CA中RC QP之间发送和接收Message。
b)HCA与远端CA相关联的CMs之间已交换REQ、REP与RTU messages。
c)两个QP都已配置并处于RTS状态(Ready to Send State)。
2 当前QP状态
已配置两个QP,配置信息如下表。
Operational Parameter | Description |
---|---|
QP Type | RC |
QPN | QP指定24-bit QPN |
CQ(s) | 创建1个或2个CQ,将其分配给QP的SQ与RQ。两个队列共用一个CQ,也可各分配一个。当前CQ为空,即无CQE。 |
SQ与RQ | 创建SQ与RQ,当前为空,即无WQE。 |
Maximum Number of Scatter/Gather Elements | SQ与RQ已配置本地内存缓冲区的最大数量,将在任何WR的Scatter/Gather Buffer List中指定。 |
SQ Completion Signaling Type | 下列情况下,SQ Logic被编程为在SCQ上创建了一个CQE: a)每个message传输成功总生成一个SQ CQE,或 b)software指定是否因每个发布到SQ的WR成功完成而生成SQ CQE。 注意错误完成一定会创建一个CQE。 |
Protection Domain(PD) | QP被分配给PD。QP Logic是只允许访问分配给同一PD的MR或MW。 |
Current QP State | QP都处于完全可操作的RTS状态。 |
Primary P_Key Index | a)出站请求包的使用:每当此QP的SQ Logic生成到与其相关联的CA端口的出站请求包时,它都会提供此值作为端口的P_KeyTable属性的索引。所选表项中包含P_Key被插入到数据包的BTH:P_Key字段中。 b)入站请求包的使用:每当与QP相关的端口接收到一个入站请求包时,将该包BTH:P_Key与存储在目的QPC中的Primary P_Key索引值所选择的端口的P_KeyTable属性中的条目进行比较。 |
SQ's Start PSN | 这是software分配给QP的SQ Logic的StartledPSN,它被插入到SQ Logic生成的第一个请求包的BTH:PSN字段中,另一个QP的RQ Start ePSN设置相同的值(该值由CM在连接REQ message中提供)。 |
RQ Start ePSN | RQ Logic的Start ePSN被设置为分配给远端QP的SQ Logic的SQ Start PSN。它在连接建立期间在REP消息中返回。RQ Logic使用ePSN验证收到的下一个请求报文是否具有next ePSN。 |
Primary Physical Port Number | QP将用来发送和接收message的物理CA端口称为主端口,以区别于Alternate Path Physical Port。 |
Destination QP Number (QPN) | 插入到出站请求包的BTH:DestQP字段中,标识要向其传递请求包的目的QP,连接建立期间它在REP message中返回。 |
DLID | 如果目的CA端口在同一子网中,则DLID=目的CA的端口LID地址,否则DLID=LID of a router ingress port |
Send GRH Flag(如果目的端口在不同的子网中,则发送全局路由信息) | 如果远端QP位于同一子网内的CA中,则该标志被清除为0,并且该QP的SQ Logic生成的每个请求包中不插入GRH。 否则,该标志置为1,并在每个请求包中包含一个GRH,本QPC包含 -Traffic Class -Flow Label -Hop Limit -Source GID Index -DGID |
Enable or disable incoming RDMA and Atomic operations | a)启动/禁用该QP上的incoming RDMA Reads b)启动/禁用该QP上的incoming RDMA Writes c)启动/禁用该QP上的incoming Atomic operations |
Number of RDMA Read & Atomic operations outstanding at any time | 远端QP的特殊队列深度,用于接收来自该QP SQ Logic的入站RDMA Read/Atomic operations。它在连接建立期间在REP message中返回。 |
Queue depth for inbound RDMA Read/Atomic operations | 此QP的RQ Logic中接收入站RDMA Read与Atomic operations的特殊队列的深度。 |
Service Level(SL) | 4bit,表示由此QP的SQ Logic生成的请求包在此子网中所需的QoS,插入到每个请求包LRH:SL字段中。 |
Path MTU(PMTU) | 路径传输最大单元。 |
Maximum Static Rate | Packet injection delay也被称为包间延迟,或IPD,和maximum static rate。源CA与目的CA端口之间的路径可能包含很多链路与交换机,链路宽度也不一定相同,为防止更快的链路占用流量较慢的链路,向QP提供IPD,该IPD定义了向目的QP发送数据包需要检测的时间间隔。 |
Minimum RNR Nak Timer field value | 如果一个入站Send或RDMA Write With Immediate message到达,而没有WQE被发布到这个QP RQ, RQ Logic响应一个RNR Nak。此值是放置在Nak中RNR Nak Timer字段中的值。在再次尝试重新发送请求数据包之前,数据包发送者必须至少等待这段时间。 |
Local ACK Timeout | 定义QP的SQ Logic在重试相应请求包之前等待响应的时间。 |
Retry Count | QP的SQ Logic将重试请求包的次数。 |
RNR Retry Count | 建立连接期间REP message中返回。注7d(111b)表示我无限次重传。 |
Source Path Bits | 至少,configuration software将为端口分配单个本地ID (LID)地址,这被称为它的基LID地址。configuration software可以通过分配端口的基本LID地址和告诉端口从基本LID开始有多少个LID被分配给端口,从而有选择地为端口分配一系列LID地址。 当一个QP的SQ Logic发送一个请求包到它指定的端口进行传输时,它必须向端口指示在包的Source LID (SLID)字段中插入哪个端口指定的LID地址。此项以源端口的基本LID地址的偏移量的形式提供。当QP建立时,它被编程到RC、UC或UD QP的QPC中,并被称为Source Path Bits。 |
Alternate Path Address Information | 仅在支持自动路径迁移时适用 |
Path Migration State | 仅当此CA支持自动路径迁移时有效。 a)Migrated(default)。 b)Rearm。 |