1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
use std::net::Ipv6Addr;
use std::time::SystemTime;
use serde::{Deserialize, Serialize};
pub const LOCATION: &str = "/data/dhcp6.lease";
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct PdConfig {
pub timestamp: SystemTime,
pub t1: u32,
pub t2: u32,
pub prefix: Ipv6Addr,
pub len: u8,
pub preflft: u32,
pub validlft: u32,
pub dns1: Ipv6Addr,
pub dns2: Ipv6Addr,
pub aftr: Option<String>,
}
impl Default for PdConfig {
fn default() -> Self {
Self {
timestamp: SystemTime::UNIX_EPOCH,
t1: 0,
t2: 0,
prefix: Ipv6Addr::UNSPECIFIED,
len: 0,
preflft: 0,
validlft: 0,
dns1: Ipv6Addr::UNSPECIFIED,
dns2: Ipv6Addr::UNSPECIFIED,
aftr: None,
}
}
}
|