Compare commits
2 Commits
f3d4c79c0f
...
5950058c76
Author | SHA1 | Date | |
---|---|---|---|
5950058c76 | |||
c613f7bc48 |
20
src/main.rs
20
src/main.rs
@ -1,4 +1,6 @@
|
|||||||
use dhcproto::{
|
use dhcproto::{
|
||||||
|
Decodable,
|
||||||
|
Decoder,
|
||||||
Encodable,
|
Encodable,
|
||||||
Encoder,
|
Encoder,
|
||||||
v6::{
|
v6::{
|
||||||
@ -21,7 +23,7 @@ const DHCP_Relay_Agent_and_Server_port: u16 = 547;
|
|||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
let socket_addr = SocketAddrV6::new("::".parse().unwrap(), DHCP_Client_port, 0, scope_id);
|
let socket_addr = SocketAddrV6::new("fe80::e3cf:4290:9165:505d".parse().unwrap(), DHCP_Client_port, 0, scope_id);
|
||||||
let sock = UdpSocket::bind(socket_addr).await.unwrap();
|
let sock = UdpSocket::bind(socket_addr).await.unwrap();
|
||||||
|
|
||||||
let remote_addr = SocketAddrV6::new(All_DHCP_Relay_Agents_and_Servers.parse().unwrap(), DHCP_Relay_Agent_and_Server_port, 0, scope_id);
|
let remote_addr = SocketAddrV6::new(All_DHCP_Relay_Agents_and_Servers.parse().unwrap(), DHCP_Relay_Agent_and_Server_port, 0, scope_id);
|
||||||
@ -43,8 +45,16 @@ async fn main() {
|
|||||||
|
|
||||||
sock.send_to(&msg_buf, remote_addr).await.unwrap();
|
sock.send_to(&msg_buf, remote_addr).await.unwrap();
|
||||||
|
|
||||||
let mut buf = [0; 1024];
|
loop {
|
||||||
let (len, recv_addr) = sock.recv_from(&mut buf).await.unwrap();
|
let mut recv_buf = [0; 1024];
|
||||||
println!("{:?} bytes received from {:?}", len, recv_addr);
|
let (len, recv_addr) = sock.recv_from(&mut recv_buf).await.unwrap();
|
||||||
println!("{}", &buf[..len].escape_ascii().to_string());
|
let recv_msg = Message::decode(&mut Decoder::new(&recv_buf)).unwrap();
|
||||||
|
|
||||||
|
if recv_msg.xid() == msg.xid() {
|
||||||
|
println!("{:?} bytes received from {:?}", len, recv_addr);
|
||||||
|
println!("{}", &recv_buf[..len].escape_ascii().to_string());
|
||||||
|
println!("{}", &recv_msg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user