Commit 4a456c9
ipv6 e2e integration (#9570)
This PR pulls in various IPv6 work. The biggest code changes revolve
around integrating new Maghemite APIs around IPv6 peers and unnumbered
peers. This has meant changing data structures in the rack initialize
API.
Before this PR, the rack initialize API was in the client-side versioned
bootstrap API. This makes it impossible to change. However, it was
observed that the only client of the rack initialize API is wicketd,
essentially making the three API endpoints under `rack-initailize`
lockstep. With that in mind, the rack initialize endpoints have been
factored out as a lockstep API, and a new version of the bootstrap
client side API has been created that deprecates use of rack-initialize.
Another tricky aspect of changing these data structures is that they are
in the boot store. In particular we are changing the BGP peer member
from an `Ipv4Addr` to an `IpAddr`. This `should` be a bootstore
backwards compatible change, but testing is required to ensure it is.
Remaining work items:
- [x] External API updates for IPv6 BGP peers
- [x] External API updates for unnumbered BPG peers
- [x] Wicket updates for IPv6 BGP peers
- [x] Wicket updates for unnumbered BGP peers
Functional milestones:
- [x] Passing CI
- [x] Bring up a4x2 with BGP unnumbered peering confirming
- [x] session establishment
- [x] ipv4 prefix exchange
- [x] ipv6 prefix exchange
- [x] working ipv4 probes
- [x] working ipv6 probes
- [x] Bring in asilomar racklette environment
- [x] session establishment
- [x] ipv4 prefix exchange
- [x] ipv6 prefix exchange
- [x] working ipv4 instance comms
- [x] working ipv6 instance comms
Depends on
- oxidecomputer/opte#902
- oxidecomputer/opte#905
- oxidecomputer/dendrite#175
- oxidecomputer/maghemite#585
- #9508
- oxidecomputer/maghemite#584
- oxidecomputer/maghemite#598
- oxidecomputer/dendrite#216
---------
Co-authored-by: Levon Tarver <levon@oxide.computer>
Co-authored-by: John Gallagher <john@oxidecomputer.com>1 parent aa12b67 commit 4a456c9
File tree
120 files changed
+49381
-2392
lines changed- clients
- bootstrap-agent-client/src
- bootstrap-agent-lockstep-client
- src
- sled-agent-client/src
- common/src/api
- external
- dev-tools
- dropshot-apis
- src
- ls-apis
- tests
- illumos-utils/src
- nexus
- db-model/src
- db-queries/src/db/datastore
- db-schema/src
- external-api
- output
- src
- internal-api/src
- src
- app
- background/tasks
- external_api
- internal_api
- test-utils/src
- tests/integration_tests
- types/src/external_api
- openapi
- bootstrap-agent
- nexus
- sled-agent
- schema/crdb
- bgp-unnumbered-peers
- sled-agent
- api/src
- bootstrap-agent-api
- src
- bootstrap-agent-lockstep-api
- src
- src
- bin
- bootstrap
- rack_setup
- plan
- sim
- tests
- data
- integration_tests
- types
- src
- versions
- src
- bgp_v6
- impls
- initial
- lockstep_rack_init
- tools
- wicket-common/src
- wicketd-api
- src
- wicketd
- src
- preflight_check
- wicket
- src
- cli/rack_setup
- ui/panes
- tests/output
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
120 files changed
+49381
-2392
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
| 138 | + | |
137 | 139 | | |
138 | 140 | | |
139 | 141 | | |
| |||
179 | 181 | | |
180 | 182 | | |
181 | 183 | | |
| 184 | + | |
182 | 185 | | |
183 | 186 | | |
184 | 187 | | |
| |||
307 | 310 | | |
308 | 311 | | |
309 | 312 | | |
| 313 | + | |
310 | 314 | | |
311 | 315 | | |
312 | 316 | | |
| |||
405 | 409 | | |
406 | 410 | | |
407 | 411 | | |
| 412 | + | |
408 | 413 | | |
| 414 | + | |
409 | 415 | | |
410 | 416 | | |
411 | 417 | | |
| |||
466 | 472 | | |
467 | 473 | | |
468 | 474 | | |
469 | | - | |
| 475 | + | |
470 | 476 | | |
471 | 477 | | |
472 | 478 | | |
| |||
570 | 576 | | |
571 | 577 | | |
572 | 578 | | |
573 | | - | |
574 | | - | |
| 579 | + | |
| 580 | + | |
575 | 581 | | |
576 | 582 | | |
577 | 583 | | |
| |||
701 | 707 | | |
702 | 708 | | |
703 | 709 | | |
704 | | - | |
| 710 | + | |
705 | 711 | | |
706 | 712 | | |
707 | 713 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | | - | |
| 39 | + | |
39 | 40 | | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| |||
0 commit comments