summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2009-01-21 05:22:34 +0100
committerMichael Brown2009-01-21 05:22:34 +0100
commitcf539989010741c4e0fb796fc796829b21265193 (patch)
tree0cf110ddc40b445c20c5a9be06d070d24f0a8ace /src
parent[dhcp] Add preliminary support for PXE Boot Servers (diff)
downloadipxe-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.c2
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 ) );