Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NDPV6: set the initial INCOMPLETE timeout correctly
Previously the logic inside `tick_one` would correctly set the timeout to `now + retrans_timer` when the initial timeout is hit, but the initial timeout is erroneously set to the `now + reachable_time` which is typically very long (~30s). From RFC2461 [1] section 4.2 > Reachable Time 32-bit unsigned integer. The time, in > milliseconds, that a node assumes a neighbor is > reachable after having received a reachability > confirmation. Used by the Neighbor Unreachability > Detection algorithm (see Section 7.3). A value of > zero means unspecified (by this router). > > Retrans Timer 32-bit unsigned integer. The time, in > milliseconds, between retransmitted Neighbor > Solicitation messages. Used by address resolution > and the Neighbor Unreachability Detection algorithm > (see Sections 7.2 and 7.3). A value of zero means > unspecified (by this router). This patch bases the initial NS timeout on the "Retrans timer" rather than the "Reachable Time" since we've not yet received a reachability confirmation. [1] https://tools.ietf.org/html/rfc2461 Signed-off-by: David Scott <dave@recoil.org>
- Loading branch information