google / google/gvisor

Learn NUD reachable time

Open
#2,240 0 comments 0 reactions 0 assignees View on GitHub
area: networking priority: p2 type: enhancement
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

Reachable Time is the time that a node assumes a neighbor is reachable after having received a reachability confirmation. Used by the Neighbor Unreachability Detection algorithm (see RFC 4861 Section 7.3). Although this is computed using random elements to avoid network congestion, the base value can be learned through Router Advertisements.

From RFC 4861 Section 6.3.4. Processing Received Router Advertisements:
```
If the received Reachable Time value is non-zero, the host SHOULD set
its BaseReachableTime variable to the received value. If the new
value differs from the previous value, the host SHOULD re-compute a
new random ReachableTime value. ReachableTime is computed as a
uniformly distributed random value between MIN_RANDOM_FACTOR and
MAX_RANDOM_FACTOR times the BaseReachableTime. Using a random
component eliminates the possibility that Neighbor Unreachability
Detection messages will synchronize with each other.
```

This issue tracks the implementation of learning `BaseReachableTime` by receiving Router Advertisements.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.