|
Lines 140-146
Link Here
|
| 140 |
int idle, sendalot; |
140 |
int idle, sendalot; |
| 141 |
int sack_rxmit, sack_bytes_rxmt; |
141 |
int sack_rxmit, sack_bytes_rxmt; |
| 142 |
struct sackhole *p; |
142 |
struct sackhole *p; |
| 143 |
int tso = 0; |
143 |
int tso; |
| 144 |
struct tcpopt to; |
144 |
struct tcpopt to; |
| 145 |
#if 0 |
145 |
#if 0 |
| 146 |
int maxburst = TCP_MAXBURST; |
146 |
int maxburst = TCP_MAXBURST; |
|
Lines 198-203
Link Here
|
| 198 |
SEQ_LT(tp->snd_nxt, tp->snd_max)) |
198 |
SEQ_LT(tp->snd_nxt, tp->snd_max)) |
| 199 |
tcp_sack_adjust(tp); |
199 |
tcp_sack_adjust(tp); |
| 200 |
sendalot = 0; |
200 |
sendalot = 0; |
|
|
201 |
tso = 0; |
| 201 |
off = tp->snd_nxt - tp->snd_una; |
202 |
off = tp->snd_nxt - tp->snd_una; |
| 202 |
sendwin = min(tp->snd_wnd, tp->snd_cwnd); |
203 |
sendwin = min(tp->snd_wnd, tp->snd_cwnd); |
| 203 |
sendwin = min(sendwin, tp->snd_bwnd); |
204 |
sendwin = min(sendwin, tp->snd_bwnd); |
|
Lines 477-483
Link Here
|
| 477 |
} else { |
478 |
} else { |
| 478 |
len = tp->t_maxseg; |
479 |
len = tp->t_maxseg; |
| 479 |
sendalot = 1; |
480 |
sendalot = 1; |
| 480 |
tso = 0; |
|
|
| 481 |
} |
481 |
} |
| 482 |
} |
482 |
} |
| 483 |
if (sack_rxmit) { |
483 |
if (sack_rxmit) { |
|
Lines 996-1001
Link Here
|
| 996 |
* XXX: Fixme: This is currently not the case for IPv6. |
996 |
* XXX: Fixme: This is currently not the case for IPv6. |
| 997 |
*/ |
997 |
*/ |
| 998 |
if (tso) { |
998 |
if (tso) { |
|
|
999 |
KASSERT(len > tp->t_maxopd - optlen, |
| 1000 |
("%s: len <= tso_segsz", __func__)); |
| 999 |
m->m_pkthdr.csum_flags = CSUM_TSO; |
1001 |
m->m_pkthdr.csum_flags = CSUM_TSO; |
| 1000 |
m->m_pkthdr.tso_segsz = tp->t_maxopd - optlen; |
1002 |
m->m_pkthdr.tso_segsz = tp->t_maxopd - optlen; |
| 1001 |
} |
1003 |
} |