mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Support setsockopt SO_SNDBUF/SO_RCVBUF for raw/udp sockets.
Updates #173,#6 Fixes #2888 PiperOrigin-RevId: 317087652
This commit is contained in:
committed by
gVisor bot
parent
09b2fca40c
commit
07ff909e76
@@ -144,7 +144,7 @@ func (s *Stack) AddInterfaceAddr(idx int32, addr inet.InterfaceAddr) error {
|
||||
|
||||
// TCPReceiveBufferSize implements inet.Stack.TCPReceiveBufferSize.
|
||||
func (s *Stack) TCPReceiveBufferSize() (inet.TCPBufferSize, error) {
|
||||
var rs tcp.ReceiveBufferSizeOption
|
||||
var rs tcpip.StackReceiveBufferSizeOption
|
||||
err := s.Stack.TransportProtocolOption(tcp.ProtocolNumber, &rs)
|
||||
return inet.TCPBufferSize{
|
||||
Min: rs.Min,
|
||||
@@ -155,7 +155,7 @@ func (s *Stack) TCPReceiveBufferSize() (inet.TCPBufferSize, error) {
|
||||
|
||||
// SetTCPReceiveBufferSize implements inet.Stack.SetTCPReceiveBufferSize.
|
||||
func (s *Stack) SetTCPReceiveBufferSize(size inet.TCPBufferSize) error {
|
||||
rs := tcp.ReceiveBufferSizeOption{
|
||||
rs := tcpip.StackReceiveBufferSizeOption{
|
||||
Min: size.Min,
|
||||
Default: size.Default,
|
||||
Max: size.Max,
|
||||
@@ -165,7 +165,7 @@ func (s *Stack) SetTCPReceiveBufferSize(size inet.TCPBufferSize) error {
|
||||
|
||||
// TCPSendBufferSize implements inet.Stack.TCPSendBufferSize.
|
||||
func (s *Stack) TCPSendBufferSize() (inet.TCPBufferSize, error) {
|
||||
var ss tcp.SendBufferSizeOption
|
||||
var ss tcpip.StackSendBufferSizeOption
|
||||
err := s.Stack.TransportProtocolOption(tcp.ProtocolNumber, &ss)
|
||||
return inet.TCPBufferSize{
|
||||
Min: ss.Min,
|
||||
@@ -176,7 +176,7 @@ func (s *Stack) TCPSendBufferSize() (inet.TCPBufferSize, error) {
|
||||
|
||||
// SetTCPSendBufferSize implements inet.Stack.SetTCPSendBufferSize.
|
||||
func (s *Stack) SetTCPSendBufferSize(size inet.TCPBufferSize) error {
|
||||
ss := tcp.SendBufferSizeOption{
|
||||
ss := tcpip.StackSendBufferSizeOption{
|
||||
Min: size.Min,
|
||||
Default: size.Default,
|
||||
Max: size.Max,
|
||||
@@ -186,14 +186,14 @@ func (s *Stack) SetTCPSendBufferSize(size inet.TCPBufferSize) error {
|
||||
|
||||
// TCPSACKEnabled implements inet.Stack.TCPSACKEnabled.
|
||||
func (s *Stack) TCPSACKEnabled() (bool, error) {
|
||||
var sack tcp.SACKEnabled
|
||||
var sack tcpip.StackSACKEnabled
|
||||
err := s.Stack.TransportProtocolOption(tcp.ProtocolNumber, &sack)
|
||||
return bool(sack), syserr.TranslateNetstackError(err).ToError()
|
||||
}
|
||||
|
||||
// SetTCPSACKEnabled implements inet.Stack.SetTCPSACKEnabled.
|
||||
func (s *Stack) SetTCPSACKEnabled(enabled bool) error {
|
||||
return syserr.TranslateNetstackError(s.Stack.SetTransportProtocolOption(tcp.ProtocolNumber, tcp.SACKEnabled(enabled))).ToError()
|
||||
return syserr.TranslateNetstackError(s.Stack.SetTransportProtocolOption(tcp.ProtocolNumber, tcpip.StackSACKEnabled(enabled))).ToError()
|
||||
}
|
||||
|
||||
// Statistics implements inet.Stack.Statistics.
|
||||
|
||||
Reference in New Issue
Block a user