Skip to content

Conversation

@internet-diglett
Copy link

@internet-diglett internet-diglett commented Dec 17, 2025

This change is primarily a part of a larger effort to make the switch zone services location aware by having them communicate with their local MGS. This is also required to allow us to deploy some form of the daemon in our test context in omicron.


Related:

@internet-diglett internet-diglett marked this pull request as ready for review January 7, 2026 02:20

banner "Build"
cargo build --release
cargo build --release --verbose --features "dendrite"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are we enabling dendrite features on linux, when dendrite only runs on helios?

Copy link
Author

Choose a reason for hiding this comment

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

The lldpd daemon is being added to the control plane test context in omicron#9533. The control plane test context runs dendrite stub on every OS. Currently, the logic in the control plane test context assumes that the startup command for each daemon will be the same on every OS, so adding the dendrite feature to the linux binary allows us to start them both with the same command as well as get the same behavior from them on both operating systems in the testing and development environment.

mgs::detect_switch_slot(mgs_global, opts.mgs_addr).await
});

let listen_addr = opts.listen_addr.unwrap_or(SocketAddr::new(
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it's fine to add an IPv6 address, but I'd like to keep the IPv4. It looks like you've left lldpadm defaulting to IPv4 (https://github.com/oxidecomputer/lldp/blob/omicron-issue-8999/adm/src/main.rs#L422), so I don't know how it's managing to talk with lldpd.

Choose a reason for hiding this comment

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

I think most OS configs will typically default localhost to ::1 on dual stack configured machines these days. This is true on all my various helios and linux machines.

ry@rydev:~$ ping -ns localhost
PING localhost (::1): 56 data bytes
64 bytes from ::1: icmp_seq=0. time=0.017 ms
64 bytes from ::1: icmp_seq=1. time=0.025 ms

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.

4 participants