parent
df549d48e6
commit
abf1101484
43 changed files with 988 additions and 325 deletions
|
|
@ -1,11 +1,13 @@
|
|||
use std::{io::{Error, IoSlice}, mem, net::{Ipv4Addr, SocketAddrV4}, os::fd::{AsRawFd, FromRawFd, RawFd}, ptr};
|
||||
use std::net::{IpAddr, Ipv6Addr, SocketAddrV6};
|
||||
use std::ptr::addr_of;
|
||||
use std::{
|
||||
io::{Error, IoSlice},
|
||||
mem,
|
||||
net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddrV4},
|
||||
os::fd::{AsRawFd, FromRawFd, RawFd},
|
||||
};
|
||||
|
||||
use byteorder::{ByteOrder, NetworkEndian};
|
||||
use fehler::throws;
|
||||
use libc::{c_char, iovec, writev, AF_INET, AF_INET6, sockaddr_in6};
|
||||
use nix::sys::socket::SockaddrIn6;
|
||||
use libc::{c_char, iovec, writev, AF_INET, AF_INET6};
|
||||
use socket2::{Domain, SockAddr, Socket, Type};
|
||||
use tracing::{self, instrument};
|
||||
|
||||
|
|
@ -69,11 +71,11 @@ impl TunInterface {
|
|||
|
||||
#[throws]
|
||||
fn configure(&self, options: TunOptions) {
|
||||
for addr in options.address{
|
||||
for addr in options.address {
|
||||
if let Ok(addr) = addr.parse::<IpAddr>() {
|
||||
match addr {
|
||||
IpAddr::V4(addr) => {self.set_ipv4_addr(addr)?}
|
||||
IpAddr::V6(addr) => {self.set_ipv6_addr(addr)?}
|
||||
IpAddr::V4(addr) => self.set_ipv4_addr(addr)?,
|
||||
IpAddr::V6(addr) => self.set_ipv6_addr(addr)?,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -146,7 +148,7 @@ impl TunInterface {
|
|||
}
|
||||
|
||||
#[throws]
|
||||
pub fn set_ipv6_addr(&self, addr: Ipv6Addr) {
|
||||
pub fn set_ipv6_addr(&self, _addr: Ipv6Addr) {
|
||||
// let addr = SockAddr::from(SocketAddrV6::new(addr, 0, 0, 0));
|
||||
// println!("addr: {:?}", addr);
|
||||
// let mut iff = self.in6_ifreq()?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue