ibcore: Support rate limit for packet pacing
Add new member rate_limit to ib_qp_attr which holds the packet pacing rate in kbps, 0 means unlimited. IB_QP_RATE_LIMIT is added to ib_attr_mask and could be used by RAW QPs when changing QP state from RTR to RTS, RTS to RTS. Linux commit: 528e5a1bd3f0e9b760cb3a1062fce7513712a15d MFC after: 1 week Reviewed by: kib Sponsored by: Mellanox Technologies // NVIDIA Networking
This commit is contained in:
parent
3d2fb36a9c
commit
0c13880ccc
@ -1016,6 +1016,7 @@ static const struct {
|
|||||||
IB_QP_QKEY),
|
IB_QP_QKEY),
|
||||||
[IB_QPT_GSI] = (IB_QP_CUR_STATE |
|
[IB_QPT_GSI] = (IB_QP_CUR_STATE |
|
||||||
IB_QP_QKEY),
|
IB_QP_QKEY),
|
||||||
|
[IB_QPT_RAW_PACKET] = IB_QP_RATE_LIMIT,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1049,6 +1050,7 @@ static const struct {
|
|||||||
IB_QP_QKEY),
|
IB_QP_QKEY),
|
||||||
[IB_QPT_GSI] = (IB_QP_CUR_STATE |
|
[IB_QPT_GSI] = (IB_QP_CUR_STATE |
|
||||||
IB_QP_QKEY),
|
IB_QP_QKEY),
|
||||||
|
[IB_QPT_RAW_PACKET] = IB_QP_RATE_LIMIT,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[IB_QPS_SQD] = {
|
[IB_QPS_SQD] = {
|
||||||
|
@ -1132,6 +1132,7 @@ enum ib_qp_attr_mask {
|
|||||||
IB_QP_RESERVED2 = (1<<22),
|
IB_QP_RESERVED2 = (1<<22),
|
||||||
IB_QP_RESERVED3 = (1<<23),
|
IB_QP_RESERVED3 = (1<<23),
|
||||||
IB_QP_RESERVED4 = (1<<24),
|
IB_QP_RESERVED4 = (1<<24),
|
||||||
|
IB_QP_RATE_LIMIT = (1<<25),
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ib_qp_state {
|
enum ib_qp_state {
|
||||||
@ -1182,6 +1183,7 @@ struct ib_qp_attr {
|
|||||||
u8 rnr_retry;
|
u8 rnr_retry;
|
||||||
u8 alt_port_num;
|
u8 alt_port_num;
|
||||||
u8 alt_timeout;
|
u8 alt_timeout;
|
||||||
|
u32 rate_limit;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ib_wr_opcode {
|
enum ib_wr_opcode {
|
||||||
|
Loading…
Reference in New Issue
Block a user