Problem with closing tcp session between cisco and freebsd

Crist J. Clark cristjc at comcast.net
Tue Mar 16 16:06:16 PST 2004


On Tue, Mar 16, 2004 at 12:53:35PM +0300, Zherdev Anatoly wrote:
> Hello.
> 
> I have problem with tcp session close between cisco and freebsd
> Looks like that it bug in freebsd tcp stack.
> 
> CISCO state:
> 
> sh tcp brief
> 62935208  CISCO..990    FREEBSD.513 FINWAIT1
> 
> 
> FreeBSD state: 
> 
> netstat -an
> tcp4   57352      0  FREEBSD.513        CISCO.990       ESTABLISHED
> 
> 
> TCP session from cisco side:
> 
> IP: s=CISCO (local), d=FREEBSD (FastEthernet0), len 41,
> sending TCP src=990, dst=513, seq=1411875745, ack=880111139, win=3983 ACK
> PSH FIN
> 
> IP: s=FREEBSD (FastEthernet0), d=CISCO (FastEthernet0), len
> 40, rcvd 3 TCP src=513, dst=990, seq=880111139, ack=1411875745, win=0 ACK

[snip]                                                                      ^

> TCP session from FreeBSD side:
> 
> 12:16:25.426584 IP CISCO.990 > FREEBSD.login: FP 1411875745:1411875746(1) ack 880111139 win 3714
> 
> 12:16:25.426675 IP FREEBSD.login > CISCO.990: . ack 1411875745 win 0
                                                                     ^
The zero window-size tells me the TCP buffer on the FreeBSD side is
full. The Cisco is trying to send that last byte of data and the FIN,
but the FreeBSD side cannot accept it since the buffer is full. This
usually means the application on the FreeBSD side is not reading the
data out of the socket.

What's the 'netstat -an' for this connection on the FreeBSD side?
-- 
Crist J. Clark                     |     cjclark at alum.mit.edu
                                   |     cjclark at jhu.edu
http://people.freebsd.org/~cjc/    |     cjc at freebsd.org


More information about the freebsd-net mailing list