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 + -
显示快捷键?