Skip to content

derive switch zone ddm router id from baseboard id - #11326

Merged
rcgoodfellow merged 1 commit into
multirack-join-service-part-4from
ry/multirack-baseboard-as-ddm-router-id
Sep 20, 2026
Merged

rcgoodfellow merged 1 commit into
multirack-join-service-part-4from
ry/multirack-baseboard-as-ddm-router-id

Conversation

@rcgoodfellow

Copy link
Copy Markdown
Contributor

Plumbing for the new router-id option just introduced in oxidecomputer/maghemite#911.

I'm not quite sure how to test this e2e yet.

@andrewjstone

Copy link
Copy Markdown
Contributor

I pulled this into my branch on #11143 and ran it on voxel with great success!

root@oxz_switch:~# ddmadm get-prefixes
Destination                Next Hop                   Path
fd00:17:1:e02::/64         fe80::aa40:25ff:fe00:9     g4
fdb0:a840:2500:9::/64      fe80::aa40:25ff:fe00:9     g4
fdb0:a840:2500:11::/64     fe80::aa40:25ff:fe00:11    g5
fd00:17:1:e03::/64         fe80::aa40:25ff:fe00:11    g5
fd00:17:1:e01::/64         fe80::aa40:25ff:fe00:7     g3
fdb0:a840:2500:7::/64      fe80::aa40:25ff:fe00:7     g3
fdb0:a840:2500:9::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g4
                                                      sw2FAKE005
fd34:c6e1:1eb4:1::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g0
fd6f:918e:631d:22f8::1/64  fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      sw2FAKE005
fd55:4d35:4c04:9083::1/64  fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
fd34:c6e1:1eb4:101::/64    fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g0
fd00:17:1:e03::/64         fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g5
                                                      sw2FAKE005
fdb0:a840:2500:7::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g3
                                                      sw2FAKE005
fdb0:a840:2500:5::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g2
fd00:17:1:e02::/64         fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g4
                                                      sw2FAKE005
fdb0:a840:2500:1::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g0
fd34:c6e1:1eb4:2::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g1
fd34:c6e1:1eb4:3::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g2
fd34:c6e1:1eb4:103::/64    fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g2
fdb0:a840:2500:3::/64      fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g1
fd34:c6e1:1eb4:102::/64    fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g1
fdb0:a840:2500:11::/64     fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g5
                                                      sw2FAKE005
fd00:17:1:e01::/64         fe80::aa40:25ff:fe1a:d90b  sw2FAKE002
                                                      g3
                                                      sw2FAKE005
fd34:c6e1:1eb4:102::/64    fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g1
fdb0:a840:2500:7::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g3
                                                      sw2FAKE005
fd6f:918e:631d:22f8::1/64  fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      sw2FAKE005
fd19:4c36:e8a3:e39a::1/64  fe80::aa40:25ff:fe28:5e44  sw2FAKE000
fd34:c6e1:1eb4:3::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g2
fd34:c6e1:1eb4:2::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g1
fd00:17:1:e03::/64         fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g5
                                                      sw2FAKE005
fdb0:a840:2500:1::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g0
fdb0:a840:2500:11::/64     fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g5
                                                      sw2FAKE005
fdb0:a840:2500:5::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g2
fd00:17:1:e02::/64         fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g4
                                                      sw2FAKE005
fd34:c6e1:1eb4:101::/64    fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g0
fd34:c6e1:1eb4:1::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g0
fd34:c6e1:1eb4:103::/64    fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g2
fdb0:a840:2500:3::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g1
fd00:17:1:e01::/64         fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g3
                                                      sw2FAKE005
fdb0:a840:2500:9::/64      fe80::aa40:25ff:fe28:5e44  sw2FAKE000
                                                      g4
                                                      sw2FAKE005

@andrewjstone andrewjstone left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea. Seems to work great. No routing loops, but definitely multiple paths for learning prefixes which I assume is intended.

@rcgoodfellow
rcgoodfellow merged commit a95995b into multirack-join-service-part-4 Sep 20, 2026
14 of 17 checks passed
@rcgoodfellow
rcgoodfellow deleted the ry/multirack-baseboard-as-ddm-router-id branch September 20, 2026 00:56
@rcgoodfellow

Copy link
Copy Markdown
Contributor Author

Glad it's working. From the output above, I see we need to come up with some machinery so bootstrap prefixes don't redistribute across transit-transit sessions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants