Add logging
This commit is contained in:
17
src/main.rs
17
src/main.rs
@@ -17,6 +17,12 @@ use dhcproto::{
|
||||
},
|
||||
};
|
||||
use ipnetwork;
|
||||
use log::{
|
||||
debug,
|
||||
log_enabled,
|
||||
info,
|
||||
Level,
|
||||
};
|
||||
use pnet;
|
||||
use std::net::SocketAddrV6;
|
||||
use tokio::net::UdpSocket;
|
||||
@@ -35,6 +41,8 @@ struct Cli {
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()>{
|
||||
env_logger::init();
|
||||
|
||||
let cli = Cli::parse();
|
||||
|
||||
let all_interfaces = pnet::datalink::interfaces();
|
||||
@@ -60,6 +68,9 @@ async fn main() -> Result<()>{
|
||||
let sock = UdpSocket::bind(socket_addr).await
|
||||
.context("Unable to bind UDP socket")?;
|
||||
|
||||
info!("Listening on {}", sock.local_addr()
|
||||
.context("Failed to fetch address socket bound to")?);
|
||||
|
||||
let remote_addr = SocketAddrV6::new(ALL_DHCP_RELAY_AGENTS_AND_SERVERS.parse().unwrap(), DHCP_RELAY_AGENT_AND_SERVER_PORT, 0, selected_interface.index.clone());
|
||||
|
||||
let mut msg = Message::new(MessageType::InformationRequest);
|
||||
@@ -89,8 +100,10 @@ async fn main() -> Result<()>{
|
||||
.context("Unable to parse DHCPv6 response message")?;
|
||||
|
||||
if recv_msg.xid() == msg.xid() {
|
||||
println!("{:?} bytes received from {:?}", len, recv_addr);
|
||||
println!("{}", &recv_buf[..len].escape_ascii().to_string());
|
||||
info!("{:?} bytes received from {:?}", len, recv_addr);
|
||||
if log_enabled!(Level::Debug) {
|
||||
debug!("Received packet: {}", hex::encode(&recv_buf[..len]));
|
||||
}
|
||||
println!("{}", &recv_msg);
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user