t3_cpl.h

来自「linux 内核源代码」· C头文件 代码 · 共 1,445 行 · 第 1/3 页

H
1,445
字号
	__u8 resvd[7];	__u8 status;};struct cpl_pass_establish {	RSS_HDR union opcode_tid ot;	__be16 local_port;	__be16 peer_port;	__be32 local_ip;	__be32 peer_ip;	__be32 tos_tid;	__be16 l2t_idx;	__be16 tcp_opt;	__be32 snd_isn;	__be32 rcv_isn;};/* cpl_pass_establish.tos_tid fields */#define S_PASS_OPEN_TID    0#define M_PASS_OPEN_TID    0xFFFFFF#define V_PASS_OPEN_TID(x) ((x) << S_PASS_OPEN_TID)#define G_PASS_OPEN_TID(x) (((x) >> S_PASS_OPEN_TID) & M_PASS_OPEN_TID)#define S_PASS_OPEN_TOS    24#define M_PASS_OPEN_TOS    0xFF#define V_PASS_OPEN_TOS(x) ((x) << S_PASS_OPEN_TOS)#define G_PASS_OPEN_TOS(x) (((x) >> S_PASS_OPEN_TOS) & M_PASS_OPEN_TOS)/* cpl_pass_establish.l2t_idx fields */#define S_L2T_IDX16    5#define M_L2T_IDX16    0x7FF#define V_L2T_IDX16(x) ((x) << S_L2T_IDX16)#define G_L2T_IDX16(x) (((x) >> S_L2T_IDX16) & M_L2T_IDX16)/* cpl_pass_establish.tcp_opt fields (also applies act_open_establish) */#define G_TCPOPT_WSCALE_OK(x)  (((x) >> 5) & 1)#define G_TCPOPT_SACK(x)       (((x) >> 6) & 1)#define G_TCPOPT_TSTAMP(x)     (((x) >> 7) & 1)#define G_TCPOPT_SND_WSCALE(x) (((x) >> 8) & 0xf)#define G_TCPOPT_MSS(x)        (((x) >> 12) & 0xf)struct cpl_pass_accept_req {	RSS_HDR union opcode_tid ot;	__be16 local_port;	__be16 peer_port;	__be32 local_ip;	__be32 peer_ip;	__be32 tos_tid;	struct tcp_options tcp_options;	__u8 dst_mac[6];	__be16 vlan_tag;	__u8 src_mac[6];#if defined(__LITTLE_ENDIAN_BITFIELD)	 __u8:3;	__u8 addr_idx:3;	__u8 port_idx:1;	__u8 exact_match:1;#else	__u8 exact_match:1;	__u8 port_idx:1;	__u8 addr_idx:3;	 __u8:3;#endif	__u8 rsvd;	__be32 rcv_isn;	__be32 rsvd2;};struct cpl_pass_accept_rpl {	WR_HDR;	union opcode_tid ot;	__be32 opt2;	__be32 rsvd;	__be32 peer_ip;	__be32 opt0h;	__be32 opt0l_status;};struct cpl_act_open_req {	WR_HDR;	union opcode_tid ot;	__be16 local_port;	__be16 peer_port;	__be32 local_ip;	__be32 peer_ip;	__be32 opt0h;	__be32 opt0l;	__be32 params;	__be32 opt2;};/* cpl_act_open_req.params fields */#define S_AOPEN_VLAN_PRI    9#define M_AOPEN_VLAN_PRI    0x3#define V_AOPEN_VLAN_PRI(x) ((x) << S_AOPEN_VLAN_PRI)#define G_AOPEN_VLAN_PRI(x) (((x) >> S_AOPEN_VLAN_PRI) & M_AOPEN_VLAN_PRI)#define S_AOPEN_VLAN_PRI_VALID    11#define V_AOPEN_VLAN_PRI_VALID(x) ((x) << S_AOPEN_VLAN_PRI_VALID)#define F_AOPEN_VLAN_PRI_VALID    V_AOPEN_VLAN_PRI_VALID(1U)#define S_AOPEN_PKT_TYPE    12#define M_AOPEN_PKT_TYPE    0x3#define V_AOPEN_PKT_TYPE(x) ((x) << S_AOPEN_PKT_TYPE)#define G_AOPEN_PKT_TYPE(x) (((x) >> S_AOPEN_PKT_TYPE) & M_AOPEN_PKT_TYPE)#define S_AOPEN_MAC_MATCH    14#define M_AOPEN_MAC_MATCH    0x1F#define V_AOPEN_MAC_MATCH(x) ((x) << S_AOPEN_MAC_MATCH)#define G_AOPEN_MAC_MATCH(x) (((x) >> S_AOPEN_MAC_MATCH) & M_AOPEN_MAC_MATCH)#define S_AOPEN_MAC_MATCH_VALID    19#define V_AOPEN_MAC_MATCH_VALID(x) ((x) << S_AOPEN_MAC_MATCH_VALID)#define F_AOPEN_MAC_MATCH_VALID    V_AOPEN_MAC_MATCH_VALID(1U)#define S_AOPEN_IFF_VLAN    20#define M_AOPEN_IFF_VLAN    0xFFF#define V_AOPEN_IFF_VLAN(x) ((x) << S_AOPEN_IFF_VLAN)#define G_AOPEN_IFF_VLAN(x) (((x) >> S_AOPEN_IFF_VLAN) & M_AOPEN_IFF_VLAN)struct cpl_act_open_rpl {	RSS_HDR union opcode_tid ot;	__be16 local_port;	__be16 peer_port;	__be32 local_ip;	__be32 peer_ip;	__be32 atid;	__u8 rsvd[3];	__u8 status;};struct cpl_act_establish {	RSS_HDR union opcode_tid ot;	__be16 local_port;	__be16 peer_port;	__be32 local_ip;	__be32 peer_ip;	__be32 tos_tid;	__be16 l2t_idx;	__be16 tcp_opt;	__be32 snd_isn;	__be32 rcv_isn;};struct cpl_get_tcb {	WR_HDR;	union opcode_tid ot;	__be16 cpuno;	__be16 rsvd;};struct cpl_get_tcb_rpl {	RSS_HDR union opcode_tid ot;	__u8 rsvd;	__u8 status;	__be16 len;};struct cpl_set_tcb {	WR_HDR;	union opcode_tid ot;	__u8 reply;	__u8 cpu_idx;	__be16 len;};/* cpl_set_tcb.reply fields */#define S_NO_REPLY    7#define V_NO_REPLY(x) ((x) << S_NO_REPLY)#define F_NO_REPLY    V_NO_REPLY(1U)struct cpl_set_tcb_field {	WR_HDR;	union opcode_tid ot;	__u8 reply;	__u8 cpu_idx;	__be16 word;	__be64 mask;	__be64 val;};struct cpl_set_tcb_rpl {	RSS_HDR union opcode_tid ot;	__u8 rsvd[3];	__u8 status;};struct cpl_pcmd {	WR_HDR;	union opcode_tid ot;	__u8 rsvd[3];#if defined(__LITTLE_ENDIAN_BITFIELD)	__u8 src:1;	__u8 bundle:1;	__u8 channel:1;	 __u8:5;#else	 __u8:5;	__u8 channel:1;	__u8 bundle:1;	__u8 src:1;#endif	__be32 pcmd_parm[2];};struct cpl_pcmd_reply {	RSS_HDR union opcode_tid ot;	__u8 status;	__u8 rsvd;	__be16 len;};struct cpl_close_con_req {	WR_HDR;	union opcode_tid ot;	__be32 rsvd;};struct cpl_close_con_rpl {	RSS_HDR union opcode_tid ot;	__u8 rsvd[3];	__u8 status;	__be32 snd_nxt;	__be32 rcv_nxt;};struct cpl_close_listserv_req {	WR_HDR;	union opcode_tid ot;	__u8 rsvd0;	__u8 cpu_idx;	__be16 rsvd1;};struct cpl_close_listserv_rpl {	RSS_HDR union opcode_tid ot;	__u8 rsvd[3];	__u8 status;};struct cpl_abort_req_rss {	RSS_HDR union opcode_tid ot;	__be32 rsvd0;	__u8 rsvd1;	__u8 status;	__u8 rsvd2[6];};struct cpl_abort_req {	WR_HDR;	union opcode_tid ot;	__be32 rsvd0;	__u8 rsvd1;	__u8 cmd;	__u8 rsvd2[6];};struct cpl_abort_rpl_rss {	RSS_HDR union opcode_tid ot;	__be32 rsvd0;	__u8 rsvd1;	__u8 status;	__u8 rsvd2[6];};struct cpl_abort_rpl {	WR_HDR;	union opcode_tid ot;	__be32 rsvd0;	__u8 rsvd1;	__u8 cmd;	__u8 rsvd2[6];};struct cpl_peer_close {	RSS_HDR union opcode_tid ot;	__be32 rcv_nxt;};struct tx_data_wr {	__be32 wr_hi;	__be32 wr_lo;	__be32 len;	__be32 flags;	__be32 sndseq;	__be32 param;};/* tx_data_wr.param fields */#define S_TX_PORT    0#define M_TX_PORT    0x7#define V_TX_PORT(x) ((x) << S_TX_PORT)#define G_TX_PORT(x) (((x) >> S_TX_PORT) & M_TX_PORT)#define S_TX_MSS    4#define M_TX_MSS    0xF#define V_TX_MSS(x) ((x) << S_TX_MSS)#define G_TX_MSS(x) (((x) >> S_TX_MSS) & M_TX_MSS)#define S_TX_QOS    8#define M_TX_QOS    0xFF#define V_TX_QOS(x) ((x) << S_TX_QOS)#define G_TX_QOS(x) (((x) >> S_TX_QOS) & M_TX_QOS)#define S_TX_SNDBUF 16#define M_TX_SNDBUF 0xFFFF#define V_TX_SNDBUF(x) ((x) << S_TX_SNDBUF)#define G_TX_SNDBUF(x) (((x) >> S_TX_SNDBUF) & M_TX_SNDBUF)struct cpl_tx_data {	union opcode_tid ot;	__be32 len;	__be32 rsvd;	__be16 urg;	__be16 flags;};/* cpl_tx_data.flags fields */#define S_TX_ULP_SUBMODE    6#define M_TX_ULP_SUBMODE    0xF#define V_TX_ULP_SUBMODE(x) ((x) << S_TX_ULP_SUBMODE)#define G_TX_ULP_SUBMODE(x) (((x) >> S_TX_ULP_SUBMODE) & M_TX_ULP_SUBMODE)#define S_TX_ULP_MODE    10#define M_TX_ULP_MODE    0xF#define V_TX_ULP_MODE(x) ((x) << S_TX_ULP_MODE)#define G_TX_ULP_MODE(x) (((x) >> S_TX_ULP_MODE) & M_TX_ULP_MODE)#define S_TX_SHOVE    14#define V_TX_SHOVE(x) ((x) << S_TX_SHOVE)#define F_TX_SHOVE    V_TX_SHOVE(1U)#define S_TX_MORE    15#define V_TX_MORE(x) ((x) << S_TX_MORE)#define F_TX_MORE    V_TX_MORE(1U)/* additional tx_data_wr.flags fields */#define S_TX_CPU_IDX    0#define M_TX_CPU_IDX    0x3F#define V_TX_CPU_IDX(x) ((x) << S_TX_CPU_IDX)#define G_TX_CPU_IDX(x) (((x) >> S_TX_CPU_IDX) & M_TX_CPU_IDX)#define S_TX_URG    16#define V_TX_URG(x) ((x) << S_TX_URG)#define F_TX_URG    V_TX_URG(1U)#define S_TX_CLOSE    17#define V_TX_CLOSE(x) ((x) << S_TX_CLOSE)#define F_TX_CLOSE    V_TX_CLOSE(1U)#define S_TX_INIT    18#define V_TX_INIT(x) ((x) << S_TX_INIT)#define F_TX_INIT    V_TX_INIT(1U)#define S_TX_IMM_ACK    19#define V_TX_IMM_ACK(x) ((x) << S_TX_IMM_ACK)#define F_TX_IMM_ACK    V_TX_IMM_ACK(1U)#define S_TX_IMM_DMA    20#define V_TX_IMM_DMA(x) ((x) << S_TX_IMM_DMA)#define F_TX_IMM_DMA    V_TX_IMM_DMA(1U)struct cpl_tx_data_ack {	RSS_HDR union opcode_tid ot;	__be32 ack_seq;};struct cpl_wr_ack {	RSS_HDR union opcode_tid ot;	__be16 credits;	__be16 rsvd;	__be32 snd_nxt;	__be32 snd_una;};struct cpl_rdma_ec_status {	RSS_HDR union opcode_tid ot;	__u8 rsvd[3];	__u8 status;};struct mngt_pktsched_wr {	__be32 wr_hi;	__be32 wr_lo;	__u8 mngt_opcode;	__u8 rsvd[7];	__u8 sched;	__u8 idx;	__u8 min;	__u8 max;	__u8 binding;	__u8 rsvd1[3];};struct cpl_iscsi_hdr {	RSS_HDR union opcode_tid ot;	__be16 pdu_len_ddp;	__be16 len;	__be32 seq;	__be16 urg;	__u8 rsvd;	__u8 status;};/* cpl_iscsi_hdr.pdu_len_ddp fields */#define S_ISCSI_PDU_LEN    0#define M_ISCSI_PDU_LEN    0x7FFF#define V_ISCSI_PDU_LEN(x) ((x) << S_ISCSI_PDU_LEN)#define G_ISCSI_PDU_LEN(x) (((x) >> S_ISCSI_PDU_LEN) & M_ISCSI_PDU_LEN)#define S_ISCSI_DDP    15#define V_ISCSI_DDP(x) ((x) << S_ISCSI_DDP)#define F_ISCSI_DDP    V_ISCSI_DDP(1U)struct cpl_rx_data {	RSS_HDR union opcode_tid ot;	__be16 rsvd;	__be16 len;	__be32 seq;	__be16 urg;#if defined(__LITTLE_ENDIAN_BITFIELD)	__u8 dack_mode:2;	__u8 psh:1;	__u8 heartbeat:1;	 __u8:4;#else	 __u8:4;	__u8 heartbeat:1;	__u8 psh:1;	__u8 dack_mode:2;#endif	__u8 status;};struct cpl_rx_data_ack {	WR_HDR;	union opcode_tid ot;	__be32 credit_dack;};/* cpl_rx_data_ack.ack_seq fields */#define S_RX_CREDITS    0#define M_RX_CREDITS    0x7FFFFFF#define V_RX_CREDITS(x) ((x) << S_RX_CREDITS)#define G_RX_CREDITS(x) (((x) >> S_RX_CREDITS) & M_RX_CREDITS)#define S_RX_MODULATE    27#define V_RX_MODULATE(x) ((x) << S_RX_MODULATE)#define F_RX_MODULATE    V_RX_MODULATE(1U)#define S_RX_FORCE_ACK    28#define V_RX_FORCE_ACK(x) ((x) << S_RX_FORCE_ACK)#define F_RX_FORCE_ACK    V_RX_FORCE_ACK(1U)#define S_RX_DACK_MODE    29#define M_RX_DACK_MODE    0x3#define V_RX_DACK_MODE(x) ((x) << S_RX_DACK_MODE)#define G_RX_DACK_MODE(x) (((x) >> S_RX_DACK_MODE) & M_RX_DACK_MODE)#define S_RX_DACK_CHANGE    31#define V_RX_DACK_CHANGE(x) ((x) << S_RX_DACK_CHANGE)#define F_RX_DACK_CHANGE    V_RX_DACK_CHANGE(1U)struct cpl_rx_urg_notify {	RSS_HDR union opcode_tid ot;	__be32 seq;};struct cpl_rx_ddp_complete {	RSS_HDR union opcode_tid ot;	__be32 ddp_report;};struct cpl_rx_data_ddp {	RSS_HDR union opcode_tid ot;	__be16 urg;	__be16 len;	__be32 seq;	union {		__be32 nxt_seq;		__be32 ddp_report;	};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?