Comment 3 for bug 1817936

Revision history for this message
Matt Peters (mpeters-wrs) wrote :

The connection fails only under specific conditions and is directly related to a conflict when setting up the NAT connection tracking information. This issue occurs in about 1 in 500 connections and is only impacts that one connection, all other and subsequent connections are fine.

There seems to be a race condition or a source port conflict when performing the NAT operation when connecting to the local pod. When there is a failed connection, the conntrack entry shows the use of a generated port number in the reverse path translation. This seems to imply it could not use the original source port due to the conflict, but then subsequent packets fail to match the flow entry, causing the connection to fail.

tcp 6 86399 ESTABLISHED src=10.10.10.13 dst=10.103.101.91 sport=60171 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60171 [ASSURED] mark=0 use=1
tcp 6 114 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59721 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59721 [ASSURED] mark=0 use=1
tcp 6 115 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59753 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59753 [ASSURED] mark=0 use=1
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60053 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60053 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59961 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59961 [ASSURED] mark=0 use=2
tcp 6 114 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59717 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59717 [ASSURED] mark=0 use=1
tcp 6 115 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59739 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59739 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59985 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59985 [ASSURED] mark=0 use=2
tcp 6 119 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60147 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60147 [ASSURED] mark=0 use=2
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60047 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60047 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60009 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60009 [ASSURED] mark=0 use=1
tcp 6 119 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60161 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60161 [ASSURED] mark=0 use=1
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60057 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60057 [ASSURED] mark=0 use=1
tcp 6 116 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59833 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59833 [ASSURED] mark=0 use=1
tcp 6 115 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59791 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59791 [ASSURED] mark=0 use=1
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60093 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60093 [ASSURED] mark=0 use=2
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60083 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60083 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59943 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59943 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59951 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59951 [ASSURED] mark=0 use=1
tcp 6 114 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59641 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59641 [ASSURED] mark=0 use=1
tcp 6 117 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60015 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60015 [ASSURED] mark=0 use=1
tcp 6 116 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59911 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59911 [ASSURED] mark=0 use=1
tcp 6 114 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59671 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59671 [ASSURED] mark=0 use=1
tcp 6 114 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59659 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59659 [ASSURED] mark=0 use=1
tcp 6 116 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59879 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59879 [ASSURED] mark=0 use=1
tcp 6 116 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=59827 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=59827 [ASSURED] mark=0 use=1
tcp 6 118 TIME_WAIT src=10.10.10.13 dst=10.103.101.91 sport=60065 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=60065 [ASSURED] mark=0 use=1

tcp 6 16 SYN_RECV src=10.10.10.13 dst=10.103.101.91 sport=51513 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=2018 mark=0 use=1
tcp 6 29 SYN_RECV src=10.10.10.13 dst=10.103.101.91 sport=52545 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=2019 mark=0 use=1
tcp 6 40 SYN_RECV src=10.10.10.13 dst=10.103.101.91 sport=53497 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=2020 mark=0 use=1
tcp 6 59 SYN_RECV src=10.10.10.13 dst=10.103.101.91 sport=55179 dport=8774 src=172.16.0.164 dst=10.10.10.13 sport=8774 dport=2021 mark=0 use=1