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 | |
| 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>
| -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 0f91bcf9d..094317b3a 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 ) ); |
