Messages in this thread Patch in this message | | | Date | Fri, 26 Feb 1999 13:28:39 -0800 | From | David Miller <> | Subject | let's try this again, re: solaris tcp bug |
| |
My previous patch was buggered, try this one instead. Sorry.
--- net/ipv4/tcp_output.c.~1~ Mon Feb 22 10:17:22 1999 +++ net/ipv4/tcp_output.c Fri Feb 26 13:19:42 1999 @@ -580,6 +580,19 @@ if(tp->af_specific->rebuild_header(sk)) return 1; /* Routing failure or similar. */ + /* Solaris sucks. */ + if(skb->len > 0 && + (TCP_SKB_CB(skb)->flags & TCPCB_FLAG_FIN) && + tp->snd_una == (TCP_SKB_CB(skb)->end_seq - 1)) { +#if 1 + printk("TCP: Doing Solaris hack for [%p:%08x:%04x:%08x]\n", + skb, sk->daddr, sk->dport, tp->snd_una); +#endif + TCP_SKB_CB(skb)->seq = TCP_SKB_CB(skb)->end_seq - 1; + skb_trim(skb, 0); + skb->csum = 0; + } + /* Ok, we're gonna send it out, update state. */ TCP_SKB_CB(skb)->sacked |= TCPCB_SACKED_RETRANS; tp->retrans_out++; @@ -592,6 +605,7 @@ skb = skb_copy(skb, GFP_ATOMIC); else skb = skb_clone(skb, GFP_ATOMIC); + tcp_transmit_skb(sk, skb); /* Update global TCP statistics and return success. */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |