mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Add loss recovery option for TCP.
/proc/sys/net/ipv4/tcp_recovery is used to enable RACK loss recovery in TCP. PiperOrigin-RevId: 325157807
This commit is contained in:
committed by
gVisor bot
parent
7ed4b2b5a6
commit
35312a95c4
@@ -207,6 +207,20 @@ func (s *Stack) SetTCPSACKEnabled(enabled bool) error {
|
||||
return syserr.TranslateNetstackError(s.Stack.SetTransportProtocolOption(tcp.ProtocolNumber, tcp.SACKEnabled(enabled))).ToError()
|
||||
}
|
||||
|
||||
// TCPRecovery implements inet.Stack.TCPRecovery.
|
||||
func (s *Stack) TCPRecovery() (inet.TCPLossRecovery, error) {
|
||||
var recovery tcp.Recovery
|
||||
if err := s.Stack.TransportProtocolOption(tcp.ProtocolNumber, &recovery); err != nil {
|
||||
return 0, syserr.TranslateNetstackError(err).ToError()
|
||||
}
|
||||
return inet.TCPLossRecovery(recovery), nil
|
||||
}
|
||||
|
||||
// SetTCPRecovery implements inet.Stack.SetTCPRecovery.
|
||||
func (s *Stack) SetTCPRecovery(recovery inet.TCPLossRecovery) error {
|
||||
return syserr.TranslateNetstackError(s.Stack.SetTransportProtocolOption(tcp.ProtocolNumber, tcp.Recovery(recovery))).ToError()
|
||||
}
|
||||
|
||||
// Statistics implements inet.Stack.Statistics.
|
||||
func (s *Stack) Statistics(stat interface{}, arg string) error {
|
||||
switch stats := stat.(type) {
|
||||
|
||||
Reference in New Issue
Block a user