From 1868d15914d6cd7cd57b90b7644b008ec16361b9 Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Sun, 4 Jun 2017 21:48:15 +0200 Subject: Beginning work on TUN interface And outbound routing I am not entirely convinced the use of net.IP is a good idea, since the internal representation of net.IP is a byte slice and all constructor functions in "net" return 16 byte slices (padded for IPv4), while the use in this project uses 4 byte slices. Which may be confusing. --- src/main.go | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/main.go') diff --git a/src/main.go b/src/main.go index 0f5016d..af336f0 100644 --- a/src/main.go +++ b/src/main.go @@ -1,11 +1,33 @@ package main +import "fmt" + +func main() { + fd, err := CreateTUN("test0") + fmt.Println(fd, err) + + queue := make(chan []byte, 1000) + + var device Device + + go OutgoingRoutingWorker(&device, queue) + + for { + tmp := make([]byte, 1<<16) + n, err := fd.Read(tmp) + if err != nil { + break + } + queue <- tmp[:n] + } +} + +/* import ( "fmt" "log" "net" ) - func main() { l, err := net.Listen("unix", "/var/run/wireguard/wg0.sock") if err != nil { @@ -24,5 +46,5 @@ func main() { fmt.Println(err) }(fd) } - } +*/ -- cgit v1.2.3-59-g8ed1b