Confirm neighbor reachability with TCP ACKs

As per RFC 4861 section 7.3.1,
  A neighbor is considered reachable if the node has recently received
  a confirmation that packets sent recently to the neighbor were
  received by its IP layer. Positive confirmation can be gathered in
  two ways: hints from upper-layer protocols that indicate a connection
  is making "forward progress", or receipt of a Neighbor Advertisement
  message that is a response to a Neighbor Solicitation message.

This change adds support for TCP to let the IP/link layers know that a
neighbor is reachable.

Test: integration_test.TestTCPConfirmNeighborReachability
PiperOrigin-RevId: 354222833

This is a cherry pick of 3fed82e.
Bug: 70276
Change-Id: I50c74a8e14424d653b714c6a8f7968d71fe98f3d
6 files changed
tree: 967c74c6605118b67afd4d3e8fcf03ba72ac0923
  1. pkg/
  2. AUTHORS
  3. go.mod
  4. go.sum
  5. LICENSE