[netstack] Reland NUD with additional logs

This is a reland of 6252f928d165275915930f4fd177d8eb4f16f68c

Flip the flag to replace the current implementation of ARP and NDP
through linkAddrCache, with an implementation of NUD through
neighborCache. Switching to using NUD for both ARP and NDP is beneficial
for the reasons described by RFC 4861 Section 3.1:

  "[Using NUD] significantly improves the robustness of packet delivery
  in the presence of failing routers, partially failing or partitioned
  links, or nodes that change their link-layer addresses. For instance,
  mobile nodes can move off-link without losing any connectivity due to
  stale ARP caches."

  "Unlike ARP, Neighbor Unreachability Detection detects half-link
  failures and avoids sending traffic to neighbors with which two-way
  connectivity is absent."

Also add additional logging for NUD events so we can better debug
network issues that may come from flipping this flag.

Multiply: `[
  {
    "name": "host_x64/package_manager_test",
    "total_runs": 30
  }
]`

Bug: 61723
Bug: 62788
Change-Id: I6cae157c706bdef089d53de88a03b29c2e3b4aa7
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/441165
Commit-Queue: Sam Balana <sbalana@google.com>
Reviewed-by: Tamir Duberstein <tamird@google.com>
Testability-Review: Tamir Duberstein <tamird@google.com>
2 files changed
tree: 0a5d28402531e89fce74ed48b414b1ce8d430de7
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .gitattributes
  17. .gitignore
  18. .gn
  19. .style.yapf
  20. AUTHORS
  21. BUILD.gn
  22. CODE_OF_CONDUCT.md
  23. CONTRIBUTING.md
  24. LICENSE
  25. OWNERS
  26. PATENTS
  27. README.md
  28. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.