RDMA/nes: Support for Packed And Unaligned fpdus
Support for Packed and Unaligned (PAU) FPDUs is needed for interoperability between NES and non-NES nodes. When the NES hardware detects a PAU frame, it will pass it to the driver to process the frame. NES driver creates a new frame for each FPDU and forwards it to the hardware to be sent to its associated qp. Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: Faisal Latif <Faisal.Latif@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:

gecommit door
Roland Dreier

bovenliggende
6224c7eeff
commit
0f0bee8bbc
@@ -154,6 +154,7 @@ struct nes_qp {
|
||||
u32 mmap_sq_db_index;
|
||||
u32 mmap_rq_db_index;
|
||||
spinlock_t lock;
|
||||
spinlock_t pau_lock;
|
||||
struct nes_qp_context *nesqp_context;
|
||||
dma_addr_t nesqp_context_pbase;
|
||||
void *pbl_vbase;
|
||||
@@ -161,6 +162,8 @@ struct nes_qp {
|
||||
struct page *page;
|
||||
struct timer_list terminate_timer;
|
||||
enum ib_event_type terminate_eventtype;
|
||||
struct sk_buff_head pau_list;
|
||||
u32 pau_rcv_nxt;
|
||||
u16 active_conn:1;
|
||||
u16 skip_lsmm:1;
|
||||
u16 user_mode:1;
|
||||
@@ -168,7 +171,8 @@ struct nes_qp {
|
||||
u16 flush_issued:1;
|
||||
u16 destroyed:1;
|
||||
u16 sig_all:1;
|
||||
u16 rsvd:9;
|
||||
u16 pau_mode:1;
|
||||
u16 rsvd:8;
|
||||
u16 private_data_len;
|
||||
u16 term_sq_flush_code;
|
||||
u16 term_rq_flush_code;
|
||||
@@ -176,5 +180,8 @@ struct nes_qp {
|
||||
u8 hw_tcp_state;
|
||||
u8 term_flags;
|
||||
u8 sq_kmapped;
|
||||
u8 pau_busy;
|
||||
u8 pau_pending;
|
||||
u8 pau_state;
|
||||
};
|
||||
#endif /* NES_VERBS_H */
|
||||
|
Verwijs in nieuw issue
Block a user