-
Notifications
You must be signed in to change notification settings - Fork 4
migrate net/prefix types to oxnet #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
libnet should not be pulling in much in the way of shared library dependencies. It interacts with illumos using ioctl and doors interfaces. I think the only illumos library that has snuck in there is the |
@rcgoodfellow this failure led me to the feature: https://buildomat.eng.oxide.computer/wg/0/details/01HZN7DPHGCA4NTWA88AY1GYTG/K6UXLFfvHdWloZLAjDs8BKluNUnVgGx6uh4sGUn9CiTCsI2z/01HZN7EFMT4RNCBZX20PAZGAS6 In particular if you scroll to the bottom of this Linux build:
I think there was some dead-code analysis that cause these not to be included that somehow I disrupted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Adam! LGTM just a few small questions.
@@ -1,3 +0,0 @@ | |||
fn main() { | |||
println!("cargo:rerun-if-changed=../openapi/ddm-admin.json"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is sensitivity to changes in the OpenAPI spec now built into progenitor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my knowledge it has been for quite a while. Did you find this not to be the case? oxidecomputer/progenitor#16
}); | ||
} | ||
client.advertise_prefixes(&prefixes).await?; | ||
client.advertise_prefixes(&ac.prefixes).await?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! So glad to see this getting rid of the manual type conversions into equivalent types!
@@ -32,3 +32,4 @@ smf.workspace = true | |||
|
|||
[features] | |||
default = ["mg-lower"] | |||
mg-lower = ["dep:mg-lower"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this just to pick up the post rust 1.60 explicit dependency syntax - or is there something more to what's going on here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought this was the (new) right way to specify the inclusion of optional dependencies.
Ah right - beyond |
I've hit at least two interesting problem (as distinct from the countless uninteresting problems I've encountered).
This v1 stuff? It seems that we've baked in an old ddm somewhere to ensure compatibility... compatibility which I've broken by changing the json schema for IpNet/Prefix. I guess this means we're heading to v3, but I don't understand this mechanism. Update addressed by disable the ddm v1 tests #276 and opened test for ddm compatibility with the most recent release #275.
Dependencies, how do they work?
mgd
depends transitively onlibnet
which ends up dumping in a bunch of dependencies on illumos-only shared libraries. It builds on Linux... somehow? It's surprising (baffling) to me how that works. Or worked. So I put in some proper feature flags to help make sure this actually works as intended.