feat: added AggregateInterface
AggregateInterface can be used to gather multiple libpcap interfaces together in order to listen to all simultaneously and also selectively send on different interfaces
This commit is contained in:
@@ -129,7 +129,7 @@ impl From<*mut nl_object> for Link {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_macs_and_src_for_ip(addrs: &Cache<RtAddr>, routes: &Cache<Route>, neighs: &Cache<Neigh>, links: &Cache<Link>, addr: Ipv4Addr) -> Option<(Ipv4Addr, [u8; 6], [u8; 6])> {
|
||||
pub fn get_macs_and_src_for_ip(addrs: &Cache<RtAddr>, routes: &Cache<Route>, neighs: &Cache<Neigh>, links: &Cache<Link>, addr: Ipv4Addr) -> Option<(String, Ipv4Addr, [u8; 6], [u8; 6])> {
|
||||
let mut sorted_routes = routes.iter().collect::<Vec<_>>();
|
||||
|
||||
sorted_routes.sort_by(|r1, r2| {
|
||||
@@ -173,6 +173,7 @@ pub fn get_macs_and_src_for_ip(addrs: &Cache<RtAddr>, routes: &Cache<Route>, nei
|
||||
.find(|a| a.ifindex() == link.ifindex())?;
|
||||
|
||||
Some((
|
||||
link.name(),
|
||||
(&srcip.local()?).try_into().ok()?,
|
||||
link.addr().hw_address().try_into().ok()?,
|
||||
neigh.lladdr().hw_address().try_into().ok()?
|
||||
@@ -316,6 +317,7 @@ impl Debug for Addr {
|
||||
f
|
||||
.debug_struct("Addr")
|
||||
.field("addr", &self.hw_address())
|
||||
.field("atype", &self.atype())
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user