Commit 05ed790
Rpws for all networking (#4822)
Overview
---
This PR ensures the rest of our `dpd` configuration is covered by a RPW
to help recover state in the event of `dendrite` crashing, the switch
zone restarting / being replaced, or the sled restarting. This is
accomplished via a background task in Nexus that periodically ensures
`dpd` is up to date with the tables in Nexus. The tradeoffs of this
design is that we don't track versioning and reconcile the entire state
every time, but since the actual number of ports will never be that high
(relative to something like NAT entries) the tradeoff of less efficiency
for much greater simplicity seems to make sense today, and it requires
much less rework in Nexus and Dendrite should we choose to replace this
strategy down the road.
Tasks
---
- [x] Ensure that Service Zones configured during rss, cold boot, and
nexus have their NAT entries added to the NAT RPW table (extracted into
#4857)
- [x] Create background task that periodically reconciles switch port
configuration for dendrite instances
- [x] Move switch zone uplink SMF property updates to RPW
- [x] Move routing updates (via mg) to RPW
- [x] Static Routing
- [x] BGP
- [x] Move bootstore updates to RPW
- [x] Move loopback address management to RPW
- [x] Move Nexus-side switch zone service on-demand lookups as outlined
in #5092
Verifications Performed
---
- [x] Basic instance deployment
- [x] Loopback Address Creation
- [x] BGP configuration (a4x2)
- [ ] BGP configuration modification (a4x2)
- [x] Static routing
- [x] Static routing configuration modification
Related
---
Closes #4715
Closes #4650
Depends on https://github.com/oxidecomputer/dendrite/pull/838
---------
Co-authored-by: Levon Tarver <[email protected]>1 parent 255b14a commit 05ed790
File tree
52 files changed
+2434
-3028
lines changed- .github/buildomat/jobs
- clients/mg-admin-client/src
- dev-tools/omdb/tests
- nexus-config/src
- nexus
- db-model/src
- db-queries/src/db/datastore
- examples
- src/app
- background
- sagas
- tests
- integration_tests
- oximeter/collector/tests/output
- schema/crdb
- 45.0.0
- sled-agent/src/bootstrap
- smf/nexus
- multi-sled
- single-sled
- tools
- wicketd/src/preflight_check
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
52 files changed
+2434
-3028
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
235 | | - | |
| 234 | + | |
236 | 235 | | |
237 | | - | |
| 236 | + | |
238 | 237 | | |
239 | | - | |
240 | 238 | | |
241 | 239 | | |
242 | 240 | | |
| |||
335 | 333 | | |
336 | 334 | | |
337 | 335 | | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
338 | 348 | | |
339 | 349 | | |
340 | 350 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
81 | 83 | | |
82 | 84 | | |
83 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
95 | 99 | | |
96 | 100 | | |
97 | 101 | | |
| |||
182 | 186 | | |
183 | 187 | | |
184 | 188 | | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
185 | 193 | | |
186 | 194 | | |
187 | 195 | | |
| |||
259 | 267 | | |
260 | 268 | | |
261 | 269 | | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
262 | 274 | | |
263 | 275 | | |
264 | 276 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
302 | 306 | | |
303 | 307 | | |
304 | 308 | | |
| |||
368 | 372 | | |
369 | 373 | | |
370 | 374 | | |
371 | | - | |
| 375 | + | |
372 | 376 | | |
373 | 377 | | |
374 | 378 | | |
| |||
389 | 393 | | |
390 | 394 | | |
391 | 395 | | |
392 | | - | |
| 396 | + | |
393 | 397 | | |
394 | 398 | | |
395 | 399 | | |
| |||
440 | 444 | | |
441 | 445 | | |
442 | 446 | | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
443 | 454 | | |
444 | 455 | | |
445 | 456 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
| 370 | + | |
| 371 | + | |
370 | 372 | | |
371 | 373 | | |
372 | 374 | | |
| |||
427 | 429 | | |
428 | 430 | | |
429 | 431 | | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
430 | 441 | | |
431 | 442 | | |
432 | 443 | | |
| |||
713 | 724 | | |
714 | 725 | | |
715 | 726 | | |
| 727 | + | |
716 | 728 | | |
717 | 729 | | |
718 | 730 | | |
| |||
828 | 840 | | |
829 | 841 | | |
830 | 842 | | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
831 | 847 | | |
832 | 848 | | |
833 | 849 | | |
| |||
893 | 909 | | |
894 | 910 | | |
895 | 911 | | |
| 912 | + | |
896 | 913 | | |
897 | 914 | | |
898 | 915 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | | - | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
27 | | - | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
1529 | 1529 | | |
1530 | 1530 | | |
1531 | 1531 | | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
1532 | 1542 | | |
1533 | 1543 | | |
1534 | 1544 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
| |||
0 commit comments