This commit is contained in:
TenderIronh
2025-11-24 10:53:02 +08:00
parent 471aa5e6ea
commit 8e303e93f8
19 changed files with 1808 additions and 843 deletions
+13 -5
View File
@@ -7,6 +7,7 @@ package openp2p
import (
"fmt"
"net"
"os"
"os/exec"
"strings"
@@ -17,6 +18,9 @@ import (
const (
tunIfaceName = "optun"
PIHeaderSize = 0
// sdwan
ReadTunBuffSize = 2048
ReadTunBuffNum = 16
)
var previousIP = ""
@@ -24,10 +28,14 @@ var previousIP = ""
func (t *optun) Start(localAddr string, detail *SDWANInfo) error {
var err error
t.tunName = tunIfaceName
t.dev, err = tun.CreateTUN(t.tunName, 1420)
t.dev, err = tun.CreateTUN(t.tunName, int(detail.Mtu))
if err != nil {
return err
}
err = os.WriteFile("/proc/sys/net/ipv4/ip_forward", []byte("1"), 0644)
if err != nil {
gLog.e("write ip_forward error:%s", err)
}
return nil
}
@@ -44,8 +52,8 @@ func setTunAddr(ifname, localAddr, remoteAddr string, wintun interface{}) error
if err != nil {
return err
}
netlink.LinkSetMTU(ifce, 1375)
netlink.LinkSetTxQLen(ifce, 100)
netlink.LinkSetMTU(ifce, int(gConf.getSDWAN().Mtu))
netlink.LinkSetTxQLen(ifce, 1000)
netlink.LinkSetUp(ifce)
ln, err := netlink.ParseIPNet(localAddr)
@@ -124,10 +132,10 @@ func delRoutesByGateway(gateway string) error {
delCmd := exec.Command("route", "del", "-net", fields[0], "gw", gateway)
err := delCmd.Run()
if err != nil {
gLog.Printf(LvERROR, "Delete route %s error:%s", fields[0], err)
gLog.e("Delete route %s error:%s", fields[0], err)
continue
}
gLog.Printf(LvINFO, "Delete route ok: %s %s %s\n", fields[0], fields[1], gateway)
gLog.i("Delete route ok: %s %s %s\n", fields[0], fields[1], gateway)
}
}
return nil