鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

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;