summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/transport/tcp/connect.go
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-04-17 01:02:22 +0000
committergVisor bot <gvisor-bot@google.com>2020-04-17 01:02:22 +0000
commit83fe2b69013fd4a0d23b7723baa490fe4cad81c9 (patch)
tree1ea0bc6031ea27f0b816c61abf20b88b321dfe30 /pkg/tcpip/transport/tcp/connect.go
parentf5a3a52f7a4b88553ccb4bfa0d5193da0a47b7cf (diff)
parent3b05f576d73be644daa17203d9ed64481c45b4a8 (diff)
Merge release-20200323.0-170-g3b05f57 (automated)
Diffstat (limited to 'pkg/tcpip/transport/tcp/connect.go')
-rw-r--r--pkg/tcpip/transport/tcp/connect.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/tcp/connect.go b/pkg/tcpip/transport/tcp/connect.go
index 994ac52a3..368865911 100644
--- a/pkg/tcpip/transport/tcp/connect.go
+++ b/pkg/tcpip/transport/tcp/connect.go
@@ -1053,10 +1053,15 @@ func (e *endpoint) tryDeliverSegmentFromClosedEndpoint(s *segment) {
ep = e.stack.FindTransportEndpoint(header.IPv4ProtocolNumber, e.TransProto, e.ID, &s.route)
}
if ep == nil {
- replyWithReset(s)
+ replyWithReset(s, stack.DefaultTOS, s.route.DefaultTTL())
s.decRef()
return
}
+
+ if e == ep {
+ panic("current endpoint not removed from demuxer, enqueing segments to itself")
+ }
+
if ep.(*endpoint).enqueueSegment(s) {
ep.(*endpoint).newSegmentWaker.Assert()
}