szilard@build:~/projekt$ git clone --depth 1 --recursive https://github.com/shellrow/netdev Cloning into 'netdev'... remote: Enumerating objects: 113, done. remote: Counting objects: 100% (113/113), done. remote: Compressing objects: 100% (100/100), done. remote: Total 113 (delta 12), reused 50 (delta 4), pack-reused 0 (from 0) Receiving objects: 100% (113/113), 88.78 KiB | 2.02 MiB/s, done. Resolving deltas: 100% (12/12), done. szilard@build:~/projekt$ cd net netbird-0.72.2/ nethack-500-src.tgz netdev/ netmaker-1.5.1/ szilard@build:~/projekt$ cd netdev/ szilard@build:~/projekt/netdev$ ls Cargo.toml README.md examples src
LICENSE build.rs scripts
szilard@build:~/projekt/netdev$ cargo b
Updating crates.io index Locking 72 packages to latest Rust 1.95.0 compatible versions
Adding jni v0.21.1 (available: v0.22.4) Compiling libc v0.2.186 Compiling netdev v0.45.0 (/export/home/szilard/projekt/netdev) Compiling ipnet v2.12.0 Compiling mac-addr v0.3.0 error[E0432]: unresolved imports `super::sockaddr::netmask_ip_autolen`, `super::sockaddr::try_mac_from_raw` --> src/os/unix/interface.rs:6:58 |
6 | ...r_len, netmask_ip_autolen, try_mac_from_raw};
| ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ no `try_mac_from_raw` in `os::unix::sockaddr` | |
| no `netmask_ip_autolen` in `os::unix::sockaddr` | note: found an item that was configured out --> src/os/unix/sockaddr.rs:375:22
| 373 | ...any(target_os = "linux", target_os = "android"))]
| -------------------------------------------- the item is gated here 374 | ...ne]
375 | ...ate) unsafe fn netmask_ip_autolen(sa: *const libc::soc... | ^^^^^^^^^^^^^^^^^^ note: found an item that was configured out --> src/os/unix/sockaddr.rs:403:22
|
395 | #[cfg(any(
| __________- 396 | | target_vendor = "apple",
397 | | target_os = "freebsd", 398 | | target_os = "netbsd", 399 | | target_os = "openbsd" 400 | | ))]
| |_- the item is gated here ...
403 | pub(crate) unsafe fn netmask_ip_autolen(sa: *const libc...
| ^^^^^^^^^^^^^^^^^^ note: found an item that was configured out
--> src/os/unix/sockaddr.rs:185:22 | 184 | #[cfg(any(target_os = "linux", target_os = "android"))]
| -------------------------------------------- the item is gated here
185 | pub(crate) unsafe fn try_mac_from_raw( | ^^^^^^^^^^^^^^^^
note: found an item that was configured out
--> src/os/unix/sockaddr.rs:225:22 |
219 | #[cfg(any( | __________-
220 | | target_vendor = "apple", 221 | | target_os = "freebsd",
222 | | target_os = "netbsd",
223 | | target_os = "openbsd"
224 | | ))]
| |_- the item is gated here
225 | pub(crate) unsafe fn try_mac_from_raw( | ^^^^^^^^^^^^^^^^
error[E0432]: unresolved import `crate::interface::mtu::get_mtu`
--> src/os/unix/interface.rs:9:5
| 9 | use crate::interface::mtu::get_mtu;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `get_mtu` in `interface::mtu` |
note: found an item that was configured out
--> src/interface/mtu.rs:2:15
| 1 | ...g(any(target_os = "linux", target_os = "android"))]
| -------------------------------------------- the item is gated here
2 | ...crate) fn get_mtu(_ifa: &libc::ifaddrs, name: &str) -> O... | ^^^^^^^
error[E0432]: unresolved import `crate::os::unix::types::get_interface_type` --> src/os/unix/interface.rs:12:30
| 12 | ...:unix::types::{get_interface_type, interface_name_from_...
| ^^^^^^^^^^^^^^^^^^ no `get_interface_type` in `os::unix::types`
| note: found an item that was configured out
--> src/os/unix/types.rs:14:8 |
13 | ...g(any(target_os = "linux", target_os = "android"))] | -------------------------------------------- the item is gated here 14 | ...fn get_interface_type(addr_ref: &libc::ifaddrs) -> Inte...
| ^^^^^^^^^^^^^^^^^^ note: found an item that was configured out
--> src/os/unix/types.rs:28:35 |
27 | #[cfg(target_vendor = "apple")] | ----------------------- the item is gated behind the `apple` feature 28 | pub use crate::os::darwin::types::get_interface_type;
| ^^^^^^^^^^^^^^^^^^ note: found an item that was configured out
--> src/os/unix/types.rs:31:32 |
30 | ...any(target_os = "openbsd", target_os = "freebsd", target_os = "netbsd"))]
| -------------------------------------------------------------------- the item is gated here
31 | ...e crate::os::bsd::types::get_interface_type;
| ^^^^^^^^^^^^^^^^^^
error[E0432]: unresolved import `crate::interface::ipv6_addr_flags::get_ipv6_addr_flags`
--> src/os/unix/interface.rs:8:5
| 8 | use crate::interface::ipv6_addr_flags::get_ipv6_addr_flags;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `get_ipv6_addr_flags` in `interface::ipv6_addr_flags`
|
note: found an item that was configured out
--> src/interface/ipv6_addr_flags.rs:60:15
|
59 | ...g(any(target_os = "linux", target_os = "android"))]
| -------------------------------------------- the item is gated here
60 | ...crate) fn get_ipv6_addr_flags(_ifname: &str, _addr: &st...
| ^^^^^^^^^^^^^^^^^^^
error[E0432]: unresolved import `crate::stats::counters::get_stats`
--> src/os/unix/interface.rs:13:46
|
13 | use crate::stats::counters::{InterfaceStats, get_stats};
| ^^^^^^^^^ no `get_stats` in `stats::counters`
|
note: found an item that was configured out
--> src/stats/counters.rs:31:15
|
25 | #[cfg(any(
| __________-
26 | | target_vendor = "apple",
27 | | target_os = "openbsd",
28 | | target_os = "freebsd",
29 | | target_os = "netbsd"
30 | | ))] | |_- the item is gated here
31 | pub(crate) fn get_stats(ifa: Option<&libc::ifaddrs>, _na...
| ^^^^^^^^^
note: found an item that was configured out
--> src/stats/counters.rs:49:15
| 48 | ...g(any(target_os = "linux", target_os = "android"))]
| -------------------------------------------- the item is gated here
49 | ...crate) fn get_stats(_ifa: Option<&libc::ifaddrs>, name:...
| ^^^^^^^^^
error[E0425]: cannot find function `is_physical_interface` in module `super::flags`
--> src/interface/interface.rs:199:23
|
199 | super::flags::is_physical_interface(&self)
| ^^^^^^^^^^^^^^^^^^^^^ not found in `super::flags`
warning: unused import: `crate::net::mac::MacAddr`
--> src/os/unix/sockaddr.rs:1:5
|
1 | use crate::net::mac::MacAddr;
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
error[E0308]: mismatched types
--> src/interface/state.rs:102:36
|
102 | pub fn operstate(if_name: &str) -> OperState {
| --------- ^^^^^^^^^ expected `OperState`, found `()`
| |
| implicitly returns `()` as its body has no tail or `return` expression
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope --> src/interface/types.rs:227:46
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
227 | x if x == InterfaceType::Unknown.value() => O...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:228:47
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
228 | x if x == InterfaceType::Ethernet.value() => ... | ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:229:48
| 11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
229 | x if x == InterfaceType::TokenRing.value() =>...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:230:43
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
230 | x if x == InterfaceType::Fddi.value() => Ok(I...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:231:48
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
231 | x if x == InterfaceType::BasicIsdn.value() =>...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:232:50
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
232 | x if x == InterfaceType::PrimaryIsdn.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:233:42
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
233 | x if x == InterfaceType::Ppp.value() => Ok(In...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:234:47
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
234 | x if x == InterfaceType::Loopback.value() => ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:235:55
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
235 | x if x == InterfaceType::Ethernet3Megabit.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:238:43
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
238 | x if x == InterfaceType::Slip.value() => Ok(I...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:239:42
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
239 | x if x == InterfaceType::Atm.value() => Ok(In...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:240:51
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
240 | x if x == InterfaceType::GenericModem.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:241:57
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
241 | x if x == InterfaceType::ProprietaryVirtual.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:244:52
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
244 | x if x == InterfaceType::FastEthernetT.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:245:43
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
245 | x if x == InterfaceType::Isdn.value() => Ok(I...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:246:53
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
246 | x if x == InterfaceType::FastEthernetFx.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:247:52
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
247 | x if x == InterfaceType::Wireless80211.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:248:52
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
248 | x if x == InterfaceType::AsymmetricDsl.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:249:51
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
249 | x if x == InterfaceType::RateAdaptDsl.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:250:51
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
250 | x if x == InterfaceType::SymmetricDsl.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:251:55
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
251 | x if x == InterfaceType::VeryHighSpeedDsl.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:254:48
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
254 | x if x == InterfaceType::IPOverAtm.value() =>...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:255:54
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
255 | x if x == InterfaceType::GigabitEthernet.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:256:45
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
256 | x if x == InterfaceType::Tunnel.value() => Ok...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:257:60
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
257 | x if x == InterfaceType::MultiRateSymmetricDsl.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:260:63
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
260 | x if x == InterfaceType::HighPerformanceSerialBus.value() ...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:263:43
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
263 | x if x == InterfaceType::Wman.value() => Ok(I...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:264:45
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
264 | x if x == InterfaceType::Wwanpp.value() => Ok...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:265:46
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
265 | x if x == InterfaceType::Wwanpp2.value() => O...
| ^^^^^ method not found in `InterfaceType`
error[E0599]: no method named `value` found for enum `InterfaceType` in the current scope
--> src/interface/types.rs:266:42
|
11 | pub enum InterfaceType {
| ---------------------- method `value` not found for this enum
...
266 | x if x == InterfaceType::Can.value() => Ok(In...
| ^^^^^ method not found in `InterfaceType`
error[E0308]: mismatched types
--> src/interface/mod.rs:89:31
|
89 | pub(crate) fn interfaces() -> Vec<Interface> {
| ---------- ^^^^^^^^^^^^^^ expected `Vec<Interface>`, found `()`
| |
| implicitly returns `()` as its body has no tail or `return` expression
|
= note: expected struct `Vec<Interface>`
found unit type `()`
error[E0308]: mismatched types
--> src/os/unix/interface.rs:163:24
|
163 | flags: addr_ref.ifa_flags,
| ^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
error[E0308]: mismatched types
--> src/os/unix/interface.rs:164:54
|
164 | ...ate: OperState::from_if_flags(addr_ref.ifa_flags),
| ------------------------ ^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
| |
| arguments to this function are incorrect
|
note: associated function defined here
--> src/interface/state.rs:50:12
|
50 | pub fn from_if_flags(if_flags: u32) -> Self {
| ^^^^^^^^^^^^^ -------------
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
|
164 | oper_state: OperState::from_if_flags(addr_ref.ifa_flags.try_into().unwrap()),
| ++++++++++++++++++++
warning: unused variable: `iface`
--> src/stats/counters.rs:166:38
|
166 | ...te_interface_stats(iface: &mut Interface) -> std::io::...
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
Some errors have detailed explanations: E0308, E0425, E0432, E0599.
For more information about an error, try `rustc --explain E0308`.
warning: `netdev` (lib) generated 2 warnings
error: could not compile `netdev` (lib) due to 40 previous errors; 2 warnings emitted
szilard@build:~/projekt/netdev$ uname -a
SunOS build 5.11 omnios-r151058-c1eded413b i86pc i386 i86pc
szilard@build:~/projekt/netdev$ rustc --version
rustc 1.95.0 (59807616e 2026-04-14) (OmniOS/151058)
szilard@build:~/projekt/netdev$