Don't allow exceeding maximum MTU for a given platform

This commit is contained in:
Neil Alexander 2018-03-03 11:47:14 +00:00
parent 7c0102e43d
commit bec898a326
6 changed files with 46 additions and 5 deletions

View file

@ -7,6 +7,12 @@ import "fmt"
// This is to catch Windows platforms
func defaultTUNParameters() tunDefaultParameters {
return tunDefaultParameters{
maxMTU: 65535,
}
}
func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int) error {
if !iftapmode {
tun.core.log.Printf("TUN mode is not supported on this platform, defaulting to TAP")
@ -41,7 +47,7 @@ func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int)
panic(err)
}
tun.iface = iface
tun.mtu = mtu
tun.mtu = getMTUFromMax(mtu)
err = tun.setupMTU(tun.mtu)
if err != nil {
panic(err)