diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-29 17:57:03 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-29 17:57:03 +0200 |
commit | 2cab7f2dfa335e49506e2c2ed1b2bd482efabaf0 (patch) | |
tree | a61401c2702e1ef8e547eecb54519bd7412a42a6 | |
parent | e13adb9cc9367ad93f1e947335b0d56108015999 (diff) |
pppoe2 compatible format0.2.0
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/lib.rs | 38 |
2 files changed, 34 insertions, 6 deletions
@@ -1,6 +1,6 @@ [package] name = "rsdsl_ip_config" -version = "0.1.0" +version = "0.2.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -1,24 +1,52 @@ -use std::net::Ipv4Addr; +use std::net::{Ipv4Addr, Ipv6Addr}; use serde::{Deserialize, Serialize}; pub const LOCATION: &str = "/tmp/pppoe.ip_config"; #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] -pub struct IpConfig { +pub struct Ipv4Config { pub addr: Ipv4Addr, pub dns1: Ipv4Addr, pub dns2: Ipv4Addr, - pub rtr: Ipv4Addr, } -impl Default for IpConfig { +impl Default for Ipv4Config { fn default() -> Self { Self { addr: Ipv4Addr::UNSPECIFIED, dns1: Ipv4Addr::UNSPECIFIED, dns2: Ipv4Addr::UNSPECIFIED, - rtr: Ipv4Addr::UNSPECIFIED, + } + } +} + +#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ipv6Config { + pub laddr: Ipv6Addr, + pub raddr: Ipv6Addr, +} + +impl Default for Ipv6Config { + fn default() -> Self { + Self { + laddr: Ipv6Addr::UNSPECIFIED, + raddr: Ipv6Addr::UNSPECIFIED, + } + } +} + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ipv6Lease { + pub prefix: Ipv6Addr, + pub aftr: Option<String>, +} + +impl Default for Ipv6Lease { + fn default() -> Self { + Self { + prefix: Ipv6Addr::UNSPECIFIED, + aftr: None, } } } |