From a3b13d51d66ddbee76df70997261bb34a827b9fb Mon Sep 17 00:00:00 2001 From: netbyte Date: Fri, 20 May 2022 17:07:57 +0800 Subject: [PATCH] set tos --- udp/udpclient.go | 5 +++++ udp/udpserver.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/udp/udpclient.go b/udp/udpclient.go index a81039a..a8e041c 100644 --- a/udp/udpclient.go +++ b/udp/udpclient.go @@ -8,6 +8,7 @@ import ( "github.com/net-byte/vtun/common/config" "github.com/net-byte/vtun/tun" "github.com/songgao/water" + "golang.org/x/net/ipv4" ) // Start udp client @@ -26,6 +27,10 @@ func StartClient(config config.Config) { if err != nil { log.Fatalln("failed to listen on udp socket:", err) } + p := ipv4.NewPacketConn(conn) + if err := p.SetTOS(0xb8); err != nil { // DSCP EF + log.Fatalln("failed to set conn tos:", err) + } defer conn.Close() c := &Client{config: config, iface: iface, localConn: conn, serverAddr: serverAddr} go c.udpToTun() diff --git a/udp/udpserver.go b/udp/udpserver.go index b66d841..591d7eb 100644 --- a/udp/udpserver.go +++ b/udp/udpserver.go @@ -11,6 +11,7 @@ import ( "github.com/net-byte/vtun/tun" "github.com/patrickmn/go-cache" "github.com/songgao/water" + "golang.org/x/net/ipv4" ) // Start udp server @@ -25,6 +26,10 @@ func StartServer(config config.Config) { if err != nil { log.Fatalln("failed to listen on udp socket:", err) } + p := ipv4.NewPacketConn(conn) + if err := p.SetTOS(0xb8); err != nil { // DSCP EF + log.Fatalln("failed to set conn tos:", err) + } defer conn.Close() s := &Server{config: config, iface: iface, localConn: conn, connCache: cache.New(30*time.Minute, 10*time.Minute)} go s.tunToUdp()