diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-10-07 23:54:51 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-10-07 23:54:51 +0000 |
commit | fd0024109aac305a161145ce219f936a0b61a0de (patch) | |
tree | d0c3fb6e3d83884aa370fd96d0ad961a13663159 /pkg/tcpip/stack | |
parent | fa5f9db6548e8977cbbebc097b702772ec38f276 (diff) | |
parent | 487651ac46f302592ccffc9e5a4336a331010e42 (diff) |
Merge release-20210927.0-49-g487651ac4 (automated)
Diffstat (limited to 'pkg/tcpip/stack')
-rw-r--r-- | pkg/tcpip/stack/stack_state_autogen.go | 6 | ||||
-rw-r--r-- | pkg/tcpip/stack/tcp.go | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/pkg/tcpip/stack/stack_state_autogen.go b/pkg/tcpip/stack/stack_state_autogen.go index dec8287f9..2d0966fd2 100644 --- a/pkg/tcpip/stack/stack_state_autogen.go +++ b/pkg/tcpip/stack/stack_state_autogen.go @@ -871,6 +871,8 @@ func (t *TCPSenderState) StateFields() []string { "FastRecovery", "Cubic", "RACKState", + "RetransmitTS", + "SpuriousRecovery", } } @@ -900,6 +902,8 @@ func (t *TCPSenderState) StateSave(stateSinkObject state.Sink) { stateSinkObject.Save(18, &t.FastRecovery) stateSinkObject.Save(19, &t.Cubic) stateSinkObject.Save(20, &t.RACKState) + stateSinkObject.Save(21, &t.RetransmitTS) + stateSinkObject.Save(22, &t.SpuriousRecovery) } func (t *TCPSenderState) afterLoad() {} @@ -927,6 +931,8 @@ func (t *TCPSenderState) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(18, &t.FastRecovery) stateSourceObject.Load(19, &t.Cubic) stateSourceObject.Load(20, &t.RACKState) + stateSourceObject.Load(21, &t.RetransmitTS) + stateSourceObject.Load(22, &t.SpuriousRecovery) } func (t *TCPSACKInfo) StateTypeName() string { diff --git a/pkg/tcpip/stack/tcp.go b/pkg/tcpip/stack/tcp.go index dc7289441..a941091b0 100644 --- a/pkg/tcpip/stack/tcp.go +++ b/pkg/tcpip/stack/tcp.go @@ -289,6 +289,12 @@ type TCPSenderState struct { // RACKState holds the state related to RACK loss detection algorithm. RACKState TCPRACKState + + // RetransmitTS records the timestamp used to detect spurious recovery. + RetransmitTS uint32 + + // SpuriousRecovery indicates if the sender entered recovery spuriously. + SpuriousRecovery bool } // TCPSACKInfo holds TCP SACK related information for a given TCP endpoint. |