diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-05 02:09:00 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-05 02:09:00 +0000 |
commit | c6929ff8597fb885c7df1b0a6487180d660602d2 (patch) | |
tree | e3d2ecc032f0279c9bae0b6261101db6087e86dc /pkg/tcpip | |
parent | d2dee4e92825f5a68c3a7b1f00fb07471e428617 (diff) | |
parent | 665b614e4a6e715bac25bea15c5c29184016e549 (diff) |
Merge release-20200127.0-80-g665b614 (automated)
Diffstat (limited to 'pkg/tcpip')
-rw-r--r-- | pkg/tcpip/stack/stack.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go index 7057b110e..b793f1d74 100644 --- a/pkg/tcpip/stack/stack.go +++ b/pkg/tcpip/stack/stack.go @@ -795,6 +795,8 @@ func (s *Stack) Forwarding() bool { // SetRouteTable assigns the route table to be used by this stack. It // specifies which NIC to use for given destination address ranges. +// +// This method takes ownership of the table. func (s *Stack) SetRouteTable(table []tcpip.Route) { s.mu.Lock() defer s.mu.Unlock() @@ -809,6 +811,13 @@ func (s *Stack) GetRouteTable() []tcpip.Route { return append([]tcpip.Route(nil), s.routeTable...) } +// AddRoute appends a route to the route table. +func (s *Stack) AddRoute(route tcpip.Route) { + s.mu.Lock() + defer s.mu.Unlock() + s.routeTable = append(s.routeTable, route) +} + // NewEndpoint creates a new transport layer endpoint of the given protocol. func (s *Stack) NewEndpoint(transport tcpip.TransportProtocolNumber, network tcpip.NetworkProtocolNumber, waiterQueue *waiter.Queue) (tcpip.Endpoint, *tcpip.Error) { t, ok := s.transportProtocols[transport] |