diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2017-06-04 21:48:15 +0200 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2017-06-04 21:48:15 +0200 |
commit | 1868d15914d6cd7cd57b90b7644b008ec16361b9 (patch) | |
tree | dbc788f49f433a5837db3c022facb19be38e4ea1 /src/main.go | |
parent | dbc3ee3e9dc50e01dab9ae789a44f90502542335 (diff) |
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.
Diffstat (limited to 'src/main.go')
-rw-r--r-- | src/main.go | 26 |
1 files changed, 24 insertions, 2 deletions
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) } - } +*/ |