diff --git a/Cargo.lock b/Cargo.lock index 3398ff29f..b17afab1c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -396,15 +396,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ipnetwork" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4088d739b183546b239688ddbc79891831df421773df95e236daf7867866d355" -dependencies = [ - "serde", -] - [[package]] name = "ipnetwork" version = "0.19.0" @@ -567,6 +558,7 @@ dependencies = [ "log", "net_gen", "pnet", + "pnet_datalink", "rate_limiter", "serde", "serde_json", @@ -702,34 +694,32 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "pnet" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5cc57672f576f6b95370277fb445738d4887195c6cf4192bdf4f44697e2389b" +checksum = "0caaf5b11fd907ff15cf14a4477bfabca4b37ab9e447a4f8dead969a59cdafad" dependencies = [ - "ipnetwork 0.19.0", "pnet_base", "pnet_datalink", "pnet_packet", - "pnet_sys", "pnet_transport", ] [[package]] name = "pnet_base" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e88341c6c842f89bdc7287f7b1e26b6fa64fa11c7ea3756971e6f18cd2510c4" +checksum = "f9d3a993d49e5fd5d4d854d6999d4addca1f72d86c65adf224a36757161c02b6" dependencies = [ "no-std-net", ] [[package]] name = "pnet_datalink" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6e55d71c51db73372db35bc54f43abd8460adff1c3a9b717804ca6416d5df2" +checksum = "e466faf03a98ad27f6e15cd27a2b7cc89e73e640a43527742977bc503c37f8aa" dependencies = [ - "ipnetwork 0.18.0", + "ipnetwork", "libc", "pnet_base", "pnet_sys", @@ -738,9 +728,9 @@ dependencies = [ [[package]] name = "pnet_macros" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfcdc9c072966723026b3596a1f655fb8bbfe0142f9770f8d481aee4459d6b9" +checksum = "48dd52a5211fac27e7acb14cfc9f30ae16ae0e956b7b779c8214c74559cef4c3" dependencies = [ "proc-macro2", "quote", @@ -750,18 +740,18 @@ dependencies = [ [[package]] name = "pnet_macros_support" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba532f5a4b320c029d89e612671fb621851b3b07e972c53850d34130033a5cd" +checksum = "89de095dc7739349559913aed1ef6a11e73ceade4897dadc77c5e09de6740750" dependencies = [ "pnet_base", ] [[package]] name = "pnet_packet" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7009716ac86091c1b6e2cdec95a2b028c880f516054c1ec11edd02f9f463cbde" +checksum = "bc3b5111e697c39c8b9795b9fdccbc301ab696699e88b9ea5a4e4628978f495f" dependencies = [ "glob", "pnet_base", @@ -771,9 +761,9 @@ dependencies = [ [[package]] name = "pnet_sys" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2a05efbc55c22f664c0ea475fbc4ffc4d09346aff9068438279d7e3d431f6f" +checksum = "328e231f0add6d247d82421bf3790b4b33b39c8930637f428eef24c4c6a90805" dependencies = [ "libc", "winapi", @@ -781,9 +771,9 @@ dependencies = [ [[package]] name = "pnet_transport" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b8ff06f37863f7590183f7044ab2e8d4dae991ecea0c791e3c6dd61ed2913d" +checksum = "ff597185e6f1f5671b3122e4dba892a1c73e17c17e723d7669bd9299cbe7f124" dependencies = [ "libc", "pnet_base", diff --git a/net_util/Cargo.toml b/net_util/Cargo.toml index 38aea2f0b..c1f3c95fd 100644 --- a/net_util/Cargo.toml +++ b/net_util/Cargo.toml @@ -22,5 +22,6 @@ vmm-sys-util = "0.9.0" [dev-dependencies] lazy_static = "1.4.0" -pnet = "0.30.0" +pnet = "0.31.0" +pnet_datalink = "0.31.0" serde_json = "1.0.81" diff --git a/net_util/src/tap.rs b/net_util/src/tap.rs index 7c7a16832..094e195c9 100644 --- a/net_util/src/tap.rs +++ b/net_util/src/tap.rs @@ -395,22 +395,20 @@ impl AsRawFd for Tap { #[cfg(test)] mod tests { - extern crate pnet; - use std::net::Ipv4Addr; use std::str; use std::sync::{mpsc, Mutex}; use std::thread; use std::time::Duration; - use self::pnet::datalink::Channel::Ethernet; - use self::pnet::datalink::{self, DataLinkReceiver, DataLinkSender, NetworkInterface}; - use self::pnet::packet::ethernet::{EtherTypes, EthernetPacket, MutableEthernetPacket}; - use self::pnet::packet::ip::IpNextHeaderProtocols; - use self::pnet::packet::ipv4::{Ipv4Packet, MutableIpv4Packet}; - use self::pnet::packet::udp::{MutableUdpPacket, UdpPacket}; - use self::pnet::packet::{MutablePacket, Packet}; - use self::pnet::util::MacAddr; + use pnet::packet::ethernet::{EtherTypes, EthernetPacket, MutableEthernetPacket}; + use pnet::packet::ip::IpNextHeaderProtocols; + use pnet::packet::ipv4::{Ipv4Packet, MutableIpv4Packet}; + use pnet::packet::udp::{MutableUdpPacket, UdpPacket}; + use pnet::packet::{MutablePacket, Packet}; + use pnet::util::MacAddr; + use pnet_datalink::Channel::Ethernet; + use pnet_datalink::{DataLinkReceiver, DataLinkSender, NetworkInterface}; use super::*; @@ -543,10 +541,10 @@ mod tests { let interface_name_matches = |iface: &NetworkInterface| iface.name == ifname; // Find the network interface with the provided name. - let interfaces = datalink::interfaces(); + let interfaces = pnet_datalink::interfaces(); let interface = interfaces.into_iter().find(interface_name_matches).unwrap(); - if let Ok(Ethernet(tx, rx)) = datalink::channel(&interface, Default::default()) { + if let Ok(Ethernet(tx, rx)) = pnet_datalink::channel(&interface, Default::default()) { (interface.mac.unwrap(), tx, rx) } else { panic!("datalink channel error or unhandled channel type");