diff options
author | David S. Miller <davem@davemloft.net> | 2009-02-06 00:38:31 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-06 00:38:31 +0100 |
commit | a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a (patch) | |
tree | 44b7cef00fb9d1ed7941af95d62f87984c363b3c /net/ipv4/tcp_output.c | |
parent | ipv6: Copy cork options in ip6_append_data (diff) | |
download | linux-a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a.tar.xz linux-a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a.zip |
Revert "tcp: Always set urgent pointer if it's beyond snd_nxt"
This reverts commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8.
Jeff Chua reports that it breaks rlogin for him.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 557fe16cbfb0..dda42f0bd7a3 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -663,14 +663,10 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, th->urg_ptr = 0; /* The urg_mode check is necessary during a below snd_una win probe */ - if (unlikely(tcp_urg_mode(tp))) { - if (between(tp->snd_up, tcb->seq + 1, tcb->seq + 0xFFFF)) { - th->urg_ptr = htons(tp->snd_up - tcb->seq); - th->urg = 1; - } else if (after(tcb->seq + 0xFFFF, tp->snd_nxt)) { - th->urg_ptr = 0xFFFF; - th->urg = 1; - } + if (unlikely(tcp_urg_mode(tp) && + between(tp->snd_up, tcb->seq + 1, tcb->seq + 0xFFFF))) { + th->urg_ptr = htons(tp->snd_up - tcb->seq); + th->urg = 1; } tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location); |