cxgbei: Use hardware RX flow control for offloaded iSCSI connections.
Forthcoming T6 iSCSI DDP support requires hardware RX flow control. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D29905
This commit is contained in:
parent
4427ac3675
commit
87bb5ed606
@ -315,13 +315,13 @@ do_rx_iscsi_ddp(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m)
|
||||
|
||||
tp = intotcpcb(inp);
|
||||
MPASS(icp->icp_seq == tp->rcv_nxt);
|
||||
MPASS(tp->rcv_wnd >= pdu_len);
|
||||
tp->rcv_nxt += pdu_len;
|
||||
tp->rcv_wnd -= pdu_len;
|
||||
tp->t_rcvtime = ticks;
|
||||
|
||||
/* update rx credits */
|
||||
t4_rcvd(&toep->td->tod, tp); /* XXX: sc->tom_softc.tod */
|
||||
/*
|
||||
* Don't update the window size or return credits since RX
|
||||
* flow control is disabled.
|
||||
*/
|
||||
|
||||
so = inp->inp_socket;
|
||||
sb = &so->so_rcv;
|
||||
|
@ -591,6 +591,9 @@ set_ulp_mode_iscsi(struct adapter *sc, struct toepcb *toep, u_int ulp_submode)
|
||||
t4_set_tcb_field(sc, toep->ctrlq, toep, W_TCB_ULP_TYPE,
|
||||
V_TCB_ULP_TYPE(M_TCB_ULP_TYPE) | V_TCB_ULP_RAW(M_TCB_ULP_RAW), val,
|
||||
0, 0);
|
||||
|
||||
val = V_TF_RX_FLOW_CONTROL_DISABLE(1ULL);
|
||||
t4_set_tcb_field(sc, toep->ctrlq, toep, W_TCB_T_FLAGS, val, val, 0, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user