Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion examples/add_route_pref_src.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@ async fn main() -> Result<(), ()> {

async fn add_route(
dest: &Ipv4Network,
iface: String,
iface: impl Into<String>,
source: Ipv4Addr,
handle: Handle,
) -> Result<(), Error> {
let iface = iface.into();
let iface_idx = handle
.link()
.get()
Expand Down
6 changes: 3 additions & 3 deletions examples/create_macvlan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ async fn main() -> Result<(), String> {

async fn create_macvlan(
handle: Handle,
link_name: String,
link_name: impl Into<String>,
mac_address: Option<Vec<u8>>,
) -> Result<(), Error> {
let mut parent_links =
handle.link().get().match_name(link_name.clone()).execute();
let link_name = link_name.into();
let mut parent_links = handle.link().get().match_name(&link_name).execute();
if let Some(parent) = parent_links.try_next().await? {
let mut builder = LinkMacVlan::new(
"my-macvlan",
Expand Down
6 changes: 3 additions & 3 deletions examples/create_macvtap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ async fn main() -> Result<(), String> {

async fn create_macvtap(
handle: Handle,
link_name: String,
link_name: impl Into<String>,
) -> Result<(), Error> {
let mut parent_links =
handle.link().get().match_name(link_name.clone()).execute();
let link_name = link_name.into();
let mut parent_links = handle.link().get().match_name(&link_name).execute();
if let Some(parent) = parent_links.try_next().await? {
let message = LinkMacVtap::new(
"test_macvtap",
Expand Down
8 changes: 4 additions & 4 deletions examples/create_vlan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ async fn main() -> Result<(), String> {

let mut mode = ParsingMode::None;
for argument in args.drain(1..) {
fn match_argument(argument: String) -> Result<ParsingMode, String> {
fn match_argument(argument: &str) -> Result<ParsingMode, String> {
match argument.to_lowercase().as_str() {
ARG_BASE => Ok(ParsingMode::Base),
ARG_NAME => Ok(ParsingMode::Name),
Expand All @@ -57,7 +57,7 @@ async fn main() -> Result<(), String> {
}

mode = match mode {
ParsingMode::None => match_argument(argument)?,
ParsingMode::None => match_argument(&argument)?,
ParsingMode::Base => {
base_interface = u32::from_str(&argument).ok();
ParsingMode::None
Expand All @@ -75,14 +75,14 @@ async fn main() -> Result<(), String> {
ingress.push(mapping);
mode
}
Err(_) => match_argument(argument)?,
Err(_) => match_argument(&argument)?,
},
mode @ ParsingMode::Egress => match parse_mapping(&argument) {
Ok(mapping) => {
egress.push(mapping);
mode
}
Err(_) => match_argument(argument)?,
Err(_) => match_argument(&argument)?,
},
}
}
Expand Down
8 changes: 6 additions & 2 deletions examples/create_vxlan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ async fn main() -> Result<(), String> {
.map_err(|e| format!("{e}"))
}

async fn create_vxlan(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn create_vxlan(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if let Some(link) = links.try_next().await? {
let message = LinkVxlan::new("vxlan0", 10)
.dev(link.header.index)
Expand Down
9 changes: 6 additions & 3 deletions examples/create_xfrm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@ async fn main() -> Result<(), String> {
.map_err(|e| format!("{e}"))
}

async fn create_xfrm(handle: Handle, link_name: String) -> Result<(), Error> {
let mut parent_links =
handle.link().get().match_name(link_name.clone()).execute();
async fn create_xfrm(
handle: Handle,
link_name: impl Into<String>,
) -> Result<(), Error> {
let link_name = link_name.into();
let mut parent_links = handle.link().get().match_name(&link_name).execute();
if let Some(parent) = parent_links.try_next().await? {
let request = handle
.link()
Expand Down
8 changes: 6 additions & 2 deletions examples/del_link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ async fn main() -> Result<(), ()> {
Ok(())
}

async fn del_link(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn del_link(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if let Some(link) = links.try_next().await? {
handle.link().del(link.header.index).execute().await
} else {
Expand Down
8 changes: 6 additions & 2 deletions examples/flush_addresses.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,12 @@ async fn main() -> Result<(), ()> {
Ok(())
}

async fn flush_addresses(handle: Handle, link: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(link.clone()).execute();
async fn flush_addresses(
handle: Handle,
link: impl Into<String>,
) -> Result<(), Error> {
let link = link.into();
let mut links = handle.link().get().match_name(&link).execute();
if let Some(link) = links.try_next().await? {
// We should have received only one message
assert!(links.try_next().await?.is_none());
Expand Down
8 changes: 6 additions & 2 deletions examples/get_address.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,12 @@ async fn main() -> Result<(), ()> {
Ok(())
}

async fn dump_addresses(handle: Handle, link: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(link.clone()).execute();
async fn dump_addresses(
handle: Handle,
link: impl Into<String>,
) -> Result<(), Error> {
let link = link.into();
let mut links = handle.link().get().match_name(&link).execute();
if let Some(link) = links.try_next().await? {
let mut addresses = handle
.address()
Expand Down
9 changes: 5 additions & 4 deletions examples/get_bond_port_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,13 @@ async fn main() -> Result<(), ()> {

async fn dump_bond_port_settings(
handle: Handle,
linkname: String,
link_name: impl Into<String>,
) -> Result<(), Error> {
let mut links = handle.link().get().match_name(linkname.clone()).execute();
let link_name = link_name.into();
let mut links = handle.link().get().match_name(&link_name).execute();
if let Some(_link) = links.try_next().await? {
let mut link_messgage =
handle.link().get().match_name(linkname).execute();
handle.link().get().match_name(link_name).execute();
while let Some(msg) = link_messgage.try_next().await? {
for nla in msg.attributes {
if let LinkAttribute::LinkInfo(i) = &nla {
Expand All @@ -46,7 +47,7 @@ async fn dump_bond_port_settings(
}
Ok(())
} else {
eprintln!("link {linkname} not found");
eprintln!("link {link_name} not found");
Ok(())
}
}
Expand Down
8 changes: 6 additions & 2 deletions examples/get_links.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,12 @@ async fn get_link_by_index(handle: Handle, index: u32) -> Result<(), Error> {
Ok(())
}

async fn get_link_by_name(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn get_link_by_name(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if (links.try_next().await?).is_some() {
println!("found link {name}");
// We should only have one link with that name
Expand Down
8 changes: 6 additions & 2 deletions examples/get_links_async.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,12 @@ async fn get_link_by_index(handle: Handle, index: u32) -> Result<(), Error> {
Ok(())
}

async fn get_link_by_name(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn get_link_by_name(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if (links.try_next().await?).is_some() {
println!("found link {name}");
// We should only have one link with that name
Expand Down
8 changes: 6 additions & 2 deletions examples/get_links_thread_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,12 @@ async fn get_link_by_index(handle: Handle, index: u32) -> Result<(), Error> {
Ok(())
}

async fn get_link_by_name(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn get_link_by_name(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if (links.try_next().await?).is_some() {
println!("found link {name}");
// We should only have one link with that name
Expand Down
8 changes: 6 additions & 2 deletions examples/set_link_down.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ async fn main() -> Result<(), String> {
.map_err(|e| format!("{e}"))
}

async fn set_link_down(handle: Handle, name: String) -> Result<(), Error> {
let mut links = handle.link().get().match_name(name.clone()).execute();
async fn set_link_down(
handle: Handle,
name: impl Into<String>,
) -> Result<(), Error> {
let name = name.into();
let mut links = handle.link().get().match_name(&name).execute();
if let Some(link) = links.try_next().await? {
handle
.link()
Expand Down
4 changes: 2 additions & 2 deletions src/link/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ impl<T> LinkMessageBuilder<T> {
ret
}

pub fn name(self, name: String) -> Self {
self.append_extra_attribute(LinkAttribute::IfName(name))
pub fn name(self, name: impl Into<String>) -> Self {
self.append_extra_attribute(LinkAttribute::IfName(name.into()))
}

/// Set the mtu of the link with the given index (equivalent to
Expand Down
6 changes: 4 additions & 2 deletions src/link/get.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,11 @@ impl LinkGetRequest {
///
/// This function requires support from your kernel (>= 2.6.33). If yours is
/// older, consider filtering the resulting stream of links.
pub fn match_name(mut self, name: String) -> Self {
pub fn match_name(mut self, name: impl Into<String>) -> Self {
self.dump = false;
self.message.attributes.push(LinkAttribute::IfName(name));
self.message
.attributes
.push(LinkAttribute::IfName(name.into()));
self
}
}
2 changes: 1 addition & 1 deletion src/link/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ async fn _create_wg() -> Result<LinkHandle, Error> {

async fn _get_iface(
handle: &mut LinkHandle,
iface_name: String,
iface_name: impl Into<String>,
) -> Result<LinkMessage, Error> {
let mut links = handle.get().match_name(iface_name).execute();
let msg = links.try_next().await?;
Expand Down
Loading