diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-01-21 04:22:34 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-01-21 04:22:34 +0000 |
commit | cf539989010741c4e0fb796fc796829b21265193 (patch) | |
tree | 0cf110ddc40b445c20c5a9be06d070d24f0a8ace /src/net/tcp.c | |
parent | 6941793416474f68f3dcbbf55258ac35de65026a (diff) | |
download | ipxe-cf539989010741c4e0fb796fc796829b21265193.tar.gz |
[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/net/tcp.c')
-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 ) ); |