Compare commits
No commits in common. "57e94d576a86e774d41fdf702ec69c2f6af74cf4" and "a7ddc6227a53a0ffdd6c8b9d104a77bac1d71589" have entirely different histories.
57e94d576a
...
a7ddc6227a
15
src/main.rs
15
src/main.rs
@ -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![
|
||||||
|
Loading…
Reference in New Issue
Block a user