-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[libc-0.2] Freebsd Netlink support backported #3555
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @JohnTitor (or someone else) soon. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
deb5594
to
b7d1f14
Compare
☔ The latest upstream changes (presumably #3589) made this pull request unmergeable. Please resolve the merge conflicts. |
b7d1f14
to
e14406c
Compare
Rebased. Is there anything I can do to make this PR go forward? |
There is a conflict of NETLINK_GENERIC definitions between net/if_mib.h and netlink/netlink.h. netlink.h is already exported in the crate root for Linux (and those definitions are already used by at least crates neli and netlink-packet-route), and if_mib is not much used yet, so this moves if_mib contents into its own namespace to leave place for netlink support on FreeBSD (rust-lang#3194). Module definition moved to the end of file to avoid cryptic style.rs error "constant found after module when it belongs before". ctest as of 0.22 cannot be told a given header's symbols live in a submodule, so let the tests ignore all of them. Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
This is an early subset of the Netlink interface, but it proves sufficient for monitoring changes in IP addresses, the coverage can be extended later as needed. Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
To allow the "Netlink on FreeBSD" feature to be usable before 0.3 gets released, this builds on top of both the netlink feature patch from rust-lang#3201 if explicitely requested through a feature flag, but by default provides the ifmib constants where they are located in previous 0.2 releases. Since this relies on creating the netlink constants in a separate module, and it seems we cannot check those automatically, avoids testing them. Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
e14406c
to
f210e11
Compare
Rebased to allow replacing current version with cargo patch: 0.2.155 |
Since the two relevant PRs are blocked and will require changes, I'm just going to close this for now. We can backport either or both as needed. |
This is a proposal to bring #3201 and #3367 to libc-0.2 branch, by hiding this change behind a feature flag as suggested by @asomers in #3367 (comment).
This makes it possible to build on FreeBSD 13 eg.
sysinfo
v0.30.5 from @GuillaumeGomez it the feature flag is not specified, and to buildrtnetlink
from PR rust-netlink/rtnetlink#49 if it is specified.