roce_ucc_event_input_s
提供给用户使用的栈上空间,用户可根据算法需要定义对应的数据结构。
typedef struct roce_ucc_event_input {
u32 timestamp; // 单位为us
union {
struct {
u32 ack_sn : 16; // 已确认的序列号
u32 send_sn : 16; // 已发送的序列号
u32 ack_ce_num : 12; // 当前确认的被打上ECN标记的数量
u32 flag : 1; // 判断当前是哪一个子事件:0表示当前是send/write,1表示read
} ack_attr; // 处理ACK事件所需字段信息
struct {
} cnp_attr; // 处理CNP事件所需字段信息
struct {
u32 sent_32bytes; // 已发送字节数,单位为B
} tx_attr; // 处理data_tx事件所需字段信息
struct {
u32 flag : 2; // 判断当前是哪一个子事件:00表示send/write超时,01表示read response超时,10表示read response重复读请求
} timeout_attr; // 处理TIMEOUT事件所需字段信息
struct {
} nack_attr; // 处理NACK事件所需字段信息
struct {
u32 req_send_timestamp; // RTT请求RP发送时间戳
u32 req_recv_timestamp; // RTT请求NP接收时间戳
u32 resp_send_timestamp; // RTT响应NP发送时间戳
u32 resp_recv_timestamp; // RTT响应RP接收时间戳
} rtt_attr; // RTT算法所需字段信息,单位为ns
struct {
} init_attr; // 处理初始化事件所需字段信息
} event;
} roce_ucc_event_input_s;
父主题: UCC编程框架通用数据结构