]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/govpn/common.go
Configure MTU on per-user basis
[govpn.git] / src / govpn / common.go
index 263ef45941ef94cc2f591b93d24b0dc81e699997..b453ed9be791a0295b49b5dadbee15cab1754bb5 100644 (file)
@@ -1,6 +1,6 @@
 /*
 GoVPN -- simple secure free software virtual private network daemon
-Copyright (C) 2014-2015 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2016 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -28,10 +28,11 @@ import (
 
 const (
        TimeoutDefault = 60
+       MTUMax         = 9000
+       MTUDefault     = 1500 + 14
 )
 
 var (
-       MTU     int
        Version string
 )
 
@@ -53,10 +54,10 @@ func ScriptCall(path, ifaceName string) ([]byte, error) {
        return out, err
 }
 
-// Zero each byte
-func sliceZero(data []byte) {
+// Zero each byte.
+func SliceZero(data []byte) {
        for i := 0; i < len(data); i++ {
-               data[i] = '\x00'
+               data[i] = 0
        }
 }
 
@@ -68,5 +69,5 @@ func cprCycleCalculate(rate int) time.Duration {
        if rate == 0 {
                return time.Duration(0)
        }
-       return time.Second / time.Duration(rate*(1<<10)/MTU)
+       return time.Second / time.Duration(rate*(1<<10)/MTUMax)
 }