[netstack-migration] Schedule Collaborative Reboot

When stack_migration observes a change to the automated/user setting
that is different from its `current_boot` value, it schedules a
collaborative reboot.

Once the collaborative reboot is initiated by the product, the device
will reboot and start up with the automated setting. This effectively
allows the device to self apply changes in the Netstack version.

There's additional logic in place to cancel the collaborative reboot,
should the setting change again (back to the original value).

Bug: 380873116
Change-Id: Ic87278b30de3c941c54313e0422e9518d9277d60
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1193375
Reviewed-by: Bruno Dal Bo <brunodalbo@google.com>
Commit-Queue: Jeff Martin <martinjeffrey@google.com>
Reviewed-by: Amanda Tait <atait@google.com>
Reviewed-by: Peter DeLong <pdelong@google.com>
5 files changed
tree: a081953de6651e3fe354267a5663dee5e93a46ab
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

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.