mirror of
https://github.com/ipxe/ipxe
synced 2025-12-18 18:40:24 +03:00
[tcp] Always set PUSH flag on TCP transmissions
Apparently this can cause a major speedup on some iSCSI targets, which will otherwise wait for a timer to expire before responding. It doesn't seem to hurt other simple TCP test cases (e.g. HTTP downloads). Problem and solution identified by Shiva Shankar <802.11e@gmail.com>
This commit is contained in:
@@ -478,7 +478,7 @@ static int tcp_xmit ( struct tcp_connection *tcp, int force_send ) {
|
|||||||
tcphdr->seq = htonl ( tcp->snd_seq );
|
tcphdr->seq = htonl ( tcp->snd_seq );
|
||||||
tcphdr->ack = htonl ( tcp->rcv_ack );
|
tcphdr->ack = htonl ( tcp->rcv_ack );
|
||||||
tcphdr->hlen = ( ( payload - iobuf->data ) << 2 );
|
tcphdr->hlen = ( ( payload - iobuf->data ) << 2 );
|
||||||
tcphdr->flags = flags;
|
tcphdr->flags = ( flags | TCP_PSH );
|
||||||
tcphdr->win = htons ( tcp->rcv_win );
|
tcphdr->win = htons ( tcp->rcv_win );
|
||||||
tcphdr->csum = tcpip_chksum ( iobuf->data, iob_len ( iobuf ) );
|
tcphdr->csum = tcpip_chksum ( iobuf->data, iob_len ( iobuf ) );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user