Anyone heard of this?
Client and server are connected using TCP across the loopback interface. Both sides of the connection set their socket option buffer size to 64KB and SO_LINGER is set to 3 seconds. Data is transferred (< 1MB) and the connection is closed from the sever side.
The server side socket goes into a FIN WAIT 1 state and begins sending FINs, receives a FIN/ACK, and then sends FIN again with no time delay.
Since it received the FIN/ACK, the socket should be shutdown. However, the server socket continues to hammer the TCP stack for minimally 5 minutes and maximally 12 hours.
[intr] goes to 100%+ cpu and procstat -kk shows netisr is continually running.
We collected the traces using tcpdump on lo0.
We found that if you don't change the socket buffer size, everything appears to be OK.
Thanks
Client and server are connected using TCP across the loopback interface. Both sides of the connection set their socket option buffer size to 64KB and SO_LINGER is set to 3 seconds. Data is transferred (< 1MB) and the connection is closed from the sever side.
The server side socket goes into a FIN WAIT 1 state and begins sending FINs, receives a FIN/ACK, and then sends FIN again with no time delay.
Since it received the FIN/ACK, the socket should be shutdown. However, the server socket continues to hammer the TCP stack for minimally 5 minutes and maximally 12 hours.
[intr] goes to 100%+ cpu and procstat -kk shows netisr is continually running.
We collected the traces using tcpdump on lo0.
We found that if you don't change the socket buffer size, everything appears to be OK.
Thanks