diff options
author | Ghanan Gowripalan <ghanan@google.com> | 2019-11-06 16:28:25 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-11-06 16:29:58 -0800 |
commit | e63db5e7bbf8decc6f799965f54fcf7aa6673527 (patch) | |
tree | 033182d4d2db1f1bc1a5d5f12d2a22508a98588f /pkg/sentry/socket/netstack/stack.go | |
parent | e1b21f3c8ca989dc94b25526fda1bb107691f1af (diff) |
Discover default routers from Router Advertisements
This change allows the netstack to do NDP's Router Discovery as outlined by
RFC 4861 section 6.3.4.
Note, this change will not break existing uses of netstack as the default
configuration for the stack options is set in such a way that Router Discovery
will not be performed. See `stack.Options` and `stack.NDPConfigurations` for
more details.
This change introduces 2 options required to take advantage of Router Discovery,
all available under NDPConfigurations:
- HandleRAs: Whether or not NDP RAs are processes
- DiscoverDefaultRouters: Whether or not Router Discovery is performed
Another note: for a NIC to process Router Advertisements, it must not be a
router itself. Currently the netstack does not have per-interface routing
configuration; the routing/forwarding configuration is controlled stack-wide.
Therefore, if the stack is configured to enable forwarding/routing, no Router
Advertisements will be processed.
Tests: Unittest to make sure that Router Discovery and updates to the routing
table only occur if explicitly configured to do so. Unittest to make sure at
max stack.MaxDiscoveredDefaultRouters discovered default routers are remembered.
PiperOrigin-RevId: 278965143
Diffstat (limited to 'pkg/sentry/socket/netstack/stack.go')
0 files changed, 0 insertions, 0 deletions