diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-05-13 18:28:45 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-05-13 18:28:45 +0000 |
commit | f4d9f967005fdf7995439f56839cbb4a7589ff6c (patch) | |
tree | 1b984a5717ecdf3c85c2cb9b62b615e054096152 | |
parent | a6cb1e3905c732f4f07ee3226907d4d21720abf2 (diff) | |
parent | baa0888f114c586ea490d49a23c3d828fd739b85 (diff) |
Merge release-20210510.0-26-gbaa0888f1 (automated)
-rw-r--r-- | pkg/sentry/socket/netstack/stack.go | 7 | ||||
-rw-r--r-- | pkg/tcpip/stack/stack.go | 6 |
2 files changed, 5 insertions, 8 deletions
diff --git a/pkg/sentry/socket/netstack/stack.go b/pkg/sentry/socket/netstack/stack.go index b215067cf..9cc1c57d7 100644 --- a/pkg/sentry/socket/netstack/stack.go +++ b/pkg/sentry/socket/netstack/stack.go @@ -470,11 +470,8 @@ func (s *Stack) Forwarding(protocol tcpip.NetworkProtocolNumber) bool { // SetForwarding implements inet.Stack.SetForwarding. func (s *Stack) SetForwarding(protocol tcpip.NetworkProtocolNumber, enable bool) error { - switch protocol { - case ipv4.ProtocolNumber, ipv6.ProtocolNumber: - s.Stack.SetForwarding(protocol, enable) - default: - panic(fmt.Sprintf("SetForwarding(%v) failed: unsupported protocol", protocol)) + if err := s.Stack.SetForwardingDefaultAndAllNICs(protocol, enable); err != nil { + return fmt.Errorf("SetForwardingDefaultAndAllNICs(%d, %t): %s", protocol, enable, err) } return nil } diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go index 3d9e1e286..483a960c8 100644 --- a/pkg/tcpip/stack/stack.go +++ b/pkg/tcpip/stack/stack.go @@ -492,9 +492,9 @@ func (s *Stack) Stats() tcpip.Stats { return s.stats } -// SetForwarding enables or disables packet forwarding between NICs for the -// passed protocol. -func (s *Stack) SetForwarding(protocolNum tcpip.NetworkProtocolNumber, enable bool) tcpip.Error { +// SetForwardingDefaultAndAllNICs sets packet forwarding for all NICs for the +// passed protocol and sets the default setting for newly created NICs. +func (s *Stack) SetForwardingDefaultAndAllNICs(protocolNum tcpip.NetworkProtocolNumber, enable bool) tcpip.Error { protocol, ok := s.networkProtocols[protocolNum] if !ok { return &tcpip.ErrUnknownProtocol{} |