Problem with closing tcp session between cisco and freebsd

Zherdev Anatoly tolyar at mx.ru
Tue Mar 16 01:53:40 PST 2004


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

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

....


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

12:16:35.121888 IP CISCO.990 > FREEBSD.login: FP 1411875745:1411875746(1) ack 880111139 win 3714

12:16:35.121976 IP FREEBSD.login > CISCO.990: . ack 1411875745 win 0

....


CISCO send ACK on FreeBSD pocket and send FIN. FreeBSD send ACK with seq w/o changes win=0 (!) and ack=cisco_seq.Cisco wait ack=cisco_seq+1 on FIN but FreeBSD box don't send this and cisco retransmit FIN.



-- 
Zherdev Anatoly.


More information about the freebsd-net mailing list