Summary: | [tcp] Keepalive not working/tcp rst tolerance | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | ant2 <ant_mail> | ||||
Component: | kern | Assignee: | Michael Tuexen <tuexen> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | ant_mail, chris, janm, net, tuexen | ||||
Priority: | --- | Flags: | koobs:
mfc-stable12+
|
||||
Version: | 12.2-STABLE | ||||||
Hardware: | amd64 | ||||||
OS: | Any | ||||||
URL: | https://reviews.freebsd.org/D28143 | ||||||
Attachments: |
|
Description
ant2
2021-03-09 14:36:08 UTC
Can you provide two .pcap files, one taken at each host? Created attachment 223153 [details]
pcap from server side
I've made pcap only from server side because I thought that it is enough for full view.
But it show good behavior except for the probe after connection termination.
This file was dumped during 30 minutes. Meanwhile the connection is stillalive on server:
right after killing client:
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 870.08 0.00 0.00 15.11
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 420.41 0.00 0.00 464.78
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 17.44 0.00 0.00 32.55
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 849.44 0.00 0.00 50.55
~ 20 minutes ~
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 19.77 0.00 0.00 880.22
! timer set to keepintvl
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 49.64 0.00 0.00 0.35
! timer set to keepidle
tcp4 0 0 192.168.0.3.3050 192.168.0.2.1316 0 0 0 0 65700 99116 1 2048 0 0 525600 792928 0.00 0.00 849.59 0.00 0.00 50.40
end of file dumping
net.inet.tcp.keepidle: 900000
net.inet.tcp.keepintvl: 50000
net.inet.tcp.keepcnt: 3
I'll make pcap from both sides soon.
The .pcap file you provide shows a TCP connection between 192.168.0.2:1339 and 192.168.0.3:3050, which is closed successfully. Then there is a ACK segment coming from 192.168.0.3:3050 towards 192.68.0.2:1316. The node as 192.68.0.2:1316 seems to not have such an end point and therefore sends back a RST segment. The RST seems to be correct. Which side is the client? Which side is the server? What OS is the client using? The server is using FreeBSD. Correct? OK. Assuming the server side is FreeBSD and running stable/12 r368657, then this problem is fixed in https://svnweb.freebsd.org/base?view=revision&revision=369132. If this assumption is correct, please update the FreeBSD machine, retest and report the outcome. OK. I'll update and report. After updating to 12.2-STABLE r369447 the error has gone away. Thanks for testing and reporting. Will close the bug report. Fixed in https://cgit.freebsd.org/src/commit/?id=cc3c34859eab1b317d0f38731355b53f7d978c97 ^Triage: * Assign to committer that resolved * Track merge to stable/12 |