git: 7f82047ec961 - stable/13 - cxgbei: Round up the maximum PDU data length by the MSS for TXDATAPLEN_MAX.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 29 Oct 2021 23:58:26 UTC
The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7f82047ec961383a0f8c11f9943522831f590f97 commit 7f82047ec961383a0f8c11f9943522831f590f97 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2021-07-29 21:17:45 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2021-10-29 23:15:44 +0000 cxgbei: Round up the maximum PDU data length by the MSS for TXDATAPLEN_MAX. Recent firmware versions round down the value passed here by the MSS and subsequently mishandle transmitted PDUs larger than the rounded down value. Reported by: Jithesh Arakkan @ Chelsio Sponsored by: Chelsio Communications (cherry picked from commit d0d631d5f4437223664f7bbdfdb421ec05cf9657) --- sys/dev/cxgbe/cxgbei/icl_cxgbei.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/cxgbei/icl_cxgbei.c b/sys/dev/cxgbe/cxgbei/icl_cxgbei.c index 4a6cf0a19d44..7d8ebd1e040f 100644 --- a/sys/dev/cxgbe/cxgbei/icl_cxgbei.c +++ b/sys/dev/cxgbe/cxgbei/icl_cxgbei.c @@ -826,7 +826,8 @@ icl_cxgbei_conn_handoff(struct icl_conn *ic, int fd) toep->params.ulp_mode = ULP_MODE_ISCSI; toep->ulpcb = icc; - send_iscsi_flowc_wr(icc->sc, toep, ci->max_tx_pdu_len); + send_iscsi_flowc_wr(icc->sc, toep, roundup(ci->max_tx_pdu_len, + tp->t_maxseg)); set_ulp_mode_iscsi(icc->sc, toep, icc->ulp_submode); error = 0; }