On Thu, 15 Apr 1999, Taral wrote:
> Ahh... I'll take it out then. It's probably the source of the problem.
> I'll put back in my patch, which was specific to the FIN problem.
>
> (I'll post it here too.)
Here is a patch which (maybe) corrects my FIN packet problem without
upsetting any other packets.
Taral
--- tcp_input.c.nodebug Mon Mar 29 17:37:43 1999
+++ tcp_input.c Thu Apr 15 18:39:19 1999
@@ -55,6 +55,7 @@
* work without delayed acks.
* Andi Kleen: Process packets with PSH set in the
* fast path.
+ * Taral: Don't drop retransmitted FIN packets before
+looking at ACK field.
*/
#include <linux/config.h>
@@ -2190,7 +2191,7 @@
}
/* step 1: check sequence number */
- if (!tcp_sequence(tp, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq)) {
+ if (!tcp_sequence(tp, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq) &&
+!(th->fin && TCP_SKB_CB(skb)->end_seq == tp->rcv_nxt)) {
if (!th->rst) {
tcp_send_ack(sk);
goto discard;