Messages in this thread | | | From | kuznet@ms2 ... | Subject | Re: dst cache overflow | Date | Thu, 13 Jan 2000 20:00:48 +0300 (MSK) |
| |
Hello!
> if ((1 << sk->state) & > - (TCPF_ESTABLISHED|TCPF_SYN_SENT|TCPF_SYN_RECV|TCPF_CLOSE_WAIT)) { > + (TCPF_ESTABLISHED|TCPF_SYN_SENT|TCPF_CLOSE_WAIT)) {
SYN-RECV sockets _are_ legal here. They occur as result of crossed SYNs. We must send FIN of them.
> lock_sock(sk); > > /* Clear out any half completed packets. FIN if needed. */ > - if (tcp_close_state(sk,0)) > + if (tcp_close_state(sk,sk->state == TCP_CLOSE_WAIT))
Hey! Andi, second argument of tcp_close_state() means that socket loses association to descriptor. You will break rsh now! It will work only for 3 minutes.
Alexey
- 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/
| |