diff --git a/libc-test/build.rs b/libc-test/build.rs index a4df4571a5244..726aa01577ede 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -3682,6 +3682,9 @@ fn test_linux(target: &str) { // FIXME: requires Linux >= 5.7: "MREMAP_DONTUNMAP" if musl || sparc64 => true, + // FIXME: requires Linux >= v5.8 + "IF_LINK_MODE_TESTING" if musl || sparc64 => true, + // FIXME: Requires more recent kernel headers (5.9 / 5.11): | "CLOSE_RANGE_UNSHARE" | "CLOSE_RANGE_CLOEXEC" if musl || sparc64 => true, diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index 4e9ff8d420124..5d86647f08c46 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -839,6 +839,16 @@ HWTSTAMP_FILTER_PTP_V2_SYNC HWTSTAMP_FILTER_PTP_V2_DELAY_REQ HWTSTAMP_FILTER_NTP_ALL IBSHIFT +IF_LINK_MODE_DEFAULT +IF_LINK_MODE_DORMANT +IF_LINK_MODE_TESTING +IF_OPER_DORMANT +IF_OPER_DOWN +IF_OPER_LOWERLAYERDOWN +IF_OPER_NOTPRESENT +IF_OPER_TESTING +IF_OPER_UNKNOWN +IF_OPER_UP IFA_ADDRESS IFA_ANYCAST IFA_BROADCAST diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index dae589fd14431..45a383b405029 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3192,6 +3192,19 @@ pub const ALG_SET_AEAD_AUTHSIZE: ::c_int = 5; pub const ALG_OP_DECRYPT: ::c_int = 0; pub const ALG_OP_ENCRYPT: ::c_int = 1; +// include/uapi/linux/if.h +pub const IF_OPER_UNKNOWN: ::c_int = 0; +pub const IF_OPER_NOTPRESENT: ::c_int = 1; +pub const IF_OPER_DOWN: ::c_int = 2; +pub const IF_OPER_LOWERLAYERDOWN: ::c_int = 3; +pub const IF_OPER_TESTING: ::c_int = 4; +pub const IF_OPER_DORMANT: ::c_int = 5; +pub const IF_OPER_UP: ::c_int = 6; + +pub const IF_LINK_MODE_DEFAULT: ::c_int = 0; +pub const IF_LINK_MODE_DORMANT: ::c_int = 1; +pub const IF_LINK_MODE_TESTING: ::c_int = 2; + // include/uapi/linux/udp.h pub const UDP_CORK: ::c_int = 1; pub const UDP_ENCAP: ::c_int = 100;