diff options
author | Ian Gudger <igudger@google.com> | 2020-03-18 16:25:20 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-03-18 16:26:36 -0700 |
commit | 92a00ca91affab8564b8875387758914ddc9785b (patch) | |
tree | c2df513c7bf2600ef5c229fd87ef1f1ca5dc4d32 /pkg/tcpip/transport/tcp/snd.go | |
parent | b5ea65c07c29cbc894e9f879796eed816696d042 (diff) |
Store segment transmit count.
This will aid in segment reordering detection.
Updates #691
PiperOrigin-RevId: 301692638
Diffstat (limited to 'pkg/tcpip/transport/tcp/snd.go')
-rw-r--r-- | pkg/tcpip/transport/tcp/snd.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/tcp/snd.go b/pkg/tcpip/transport/tcp/snd.go index b74b61e7d..657c3146e 100644 --- a/pkg/tcpip/transport/tcp/snd.go +++ b/pkg/tcpip/transport/tcp/snd.go @@ -1229,7 +1229,7 @@ func (s *sender) handleRcvdSegment(seg *segment) { // sendSegment sends the specified segment. func (s *sender) sendSegment(seg *segment) *tcpip.Error { - if !seg.xmitTime.IsZero() { + if seg.xmitCount > 0 { s.ep.stack.Stats().TCP.Retransmits.Increment() s.ep.stats.SendErrors.Retransmits.Increment() if s.sndCwnd < s.sndSsthresh { @@ -1237,6 +1237,7 @@ func (s *sender) sendSegment(seg *segment) *tcpip.Error { } } seg.xmitTime = time.Now() + seg.xmitCount++ return s.sendSegmentFromView(seg.data, seg.flags, seg.sequenceNumber) } |