/* In some cases a fpdu will arrive with only one byte of the header, in this * case the fpdu_length will be partial (contain only higher byte and * incomplete bytes will contain the invalid value
*/ #define QED_IWARP_INVALID_INCOMPLETE_BYTES 0xffff
/* Endpoint structure represents a TCP connection. This connection can be * associated with a QP or not (in which case QP==NULL)
*/ struct qed_iwarp_ep { struct list_head list_entry; struct qed_rdma_qp *qp; struct qed_iwarp_ep_memory *ep_buffer_virt;
dma_addr_t ep_buffer_phys; enum qed_iwarp_ep_state state; int sig; struct qed_iwarp_cm_info cm_info; enum tcp_connect_mode connect_mode; enum mpa_rtr_type rtr_type; enum mpa_negotiation_mode mpa_rev;
u32 tcp_cid;
u32 cid;
u16 mss;
u8 remote_mac_addr[6];
u8 local_mac_addr[6]; bool mpa_reply_processed;
/* For Passive side - syn packet related data */
u16 syn_ip_payload_length; struct qed_iwarp_ll2_buff *syn;
dma_addr_t syn_phy_addr;
/* The event_cb function is called for asynchrounous events associated * with the ep. It is initialized at different entry points depending * on whether the ep is the tcp connection active side or passive side * The cb_context is passed to the event_cb function.
*/
iwarp_event_handler event_cb; void *cb_context;
};
/* The event_cb function is called for connection requests. * The cb_context is passed to the event_cb function.
*/
iwarp_event_handler event_cb; void *cb_context;
u32 max_backlog;
u32 ip_addr[4];
u16 port;
u16 vlan;
u8 ip_version;
};
int qed_iwarp_alloc(struct qed_hwfn *p_hwfn);
int qed_iwarp_setup(struct qed_hwfn *p_hwfn, struct qed_rdma_start_in_params *params);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.