diff options
author | Michael Brown | 2009-01-21 05:22:34 +0100 |
---|---|---|
committer | Michael Brown | 2009-01-21 05:22:34 +0100 |
commit | cf539989010741c4e0fb796fc796829b21265193 (patch) | |
tree | 0cf110ddc40b445c20c5a9be06d070d24f0a8ace /src | |
parent | [dhcp] Add preliminary support for PXE Boot Servers (diff) | |
download | ipxe-cf539989010741c4e0fb796fc796829b21265193.tar.gz ipxe-cf539989010741c4e0fb796fc796829b21265193.tar.xz ipxe-cf539989010741c4e0fb796fc796829b21265193.zip |
[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>
Diffstat (limited to 'src')
-rw-r--r-- | src/net/tcp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net/tcp.c b/src/net/tcp.c index 0f91bcf9..094317b3 100644 --- a/src/net/tcp.c +++ b/src/net/tcp.c @@ -478,7 +478,7 @@ static int tcp_xmit ( struct tcp_connection *tcp, int force_send ) { tcphdr->seq = htonl ( tcp->snd_seq ); tcphdr->ack = htonl ( tcp->rcv_ack ); tcphdr->hlen = ( ( payload - iobuf->data ) << 2 ); - tcphdr->flags = flags; + tcphdr->flags = ( flags | TCP_PSH ); tcphdr->win = htons ( tcp->rcv_win ); tcphdr->csum = tcpip_chksum ( iobuf->data, iob_len ( iobuf ) ); |