Skip to content

Commit

Permalink
Merge pull request #586 from palindrom615/patch-1
Browse files Browse the repository at this point in the history
Fix examples/arp_packet.rs
  • Loading branch information
mrmonday committed Feb 3, 2023
2 parents e8ba14b + 56baf65 commit c9d7c1c
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions examples/arp_packet.rs
Expand Up @@ -58,13 +58,16 @@ fn get_mac_through_arp(interface: NetworkInterface, target_ip: Ipv4Addr) -> MacA

println!("Sent ARP request");

let buf = receiver.next().unwrap();

let arp = ArpPacket::new(&buf[MutableEthernetPacket::minimum_packet_size()..]).unwrap();

println!("Received reply");

arp.get_sender_hw_addr()
while let buf = receiver.next().unwrap() {
let arp = ArpPacket::new(&buf[MutableEthernetPacket::minimum_packet_size()..]).unwrap();
if arp.get_sender_proto_addr() == target_ip
&& arp.get_target_hw_addr() == interface.mac.unwrap()
{
println!("Received reply");
return arp.get_sender_hw_addr();
}
}
panic!("Never reach here")
}

fn main() {
Expand Down Expand Up @@ -103,4 +106,4 @@ fn main() {
let target_mac = get_mac_through_arp(interface, target_ip.unwrap());

println!("Target MAC address: {}", target_mac);
}
}

0 comments on commit c9d7c1c

Please sign in to comment.