mirror of https://github.com/ipxe/ipxe.git
[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>pull/1/head
parent
6941793416
commit
cf53998901
|
@ -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 ) );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue