Compare commits

..

No commits in common. "57e94d576a86e774d41fdf702ec69c2f6af74cf4" and "a7ddc6227a53a0ffdd6c8b9d104a77bac1d71589" have entirely different histories.

View File

@ -19,9 +19,12 @@ use std::{
}; };
use tokio::net::UdpSocket; use tokio::net::UdpSocket;
const ALL_DHCP_RELAY_AGENTS_AND_SERVERS: &str = "ff02::1:2"; const scope_id: u32 = 15;
const DHCP_CLIENT_PORT: u16 = 546; const duid: [u8; 4] = [0x13, 0x37, 0x23, 0x42];
const DHCP_RELAY_AGENT_AND_SERVER_PORT: u16 = 547;
const All_DHCP_Relay_Agents_and_Servers: &str = "ff02::1:2";
const DHCP_Client_port: u16 = 546;
const DHCP_Relay_Agent_and_Server_port: u16 = 547;
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
@ -49,13 +52,13 @@ async fn main() {
let selected_address = ipv6_link_local_addresses.next() let selected_address = ipv6_link_local_addresses.next()
.expect("No IPv6 link local address assigned to this interface"); .expect("No IPv6 link local address assigned to this interface");
let socket_addr = SocketAddrV6::new(selected_address.ip(), DHCP_CLIENT_PORT, 0, selected_interface.index.clone()); let socket_addr = SocketAddrV6::new(selected_address.ip(), DHCP_Client_port, 0, selected_interface.index.clone());
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, selected_interface.index.clone()); let remote_addr = SocketAddrV6::new(All_DHCP_Relay_Agents_and_Servers.parse().unwrap(), DHCP_Relay_Agent_and_Server_port, 0, scope_id);
let mut msg = Message::new(MessageType::InformationRequest); let mut msg = Message::new(MessageType::InformationRequest);
let msg_opts = msg.opts_mut(); let mut msg_opts = msg.opts_mut();
//msg_opts.insert(DhcpOption::ClientId(Vec::from(duid))); //msg_opts.insert(DhcpOption::ClientId(Vec::from(duid)));
msg_opts.insert(DhcpOption::ElapsedTime(0)); msg_opts.insert(DhcpOption::ElapsedTime(0));
msg_opts.insert(DhcpOption::ORO(ORO { opts: vec![ msg_opts.insert(DhcpOption::ORO(ORO { opts: vec![