Jay Wren 1 год назад
Родитель
Сommit
0a94f9f990
2 измененных файлов с 13 добавлено и 12 удалено
  1. 1 1
      interface.go
  2. 12 11
      overlay/tun_linux_test.go

+ 1 - 1
interface.go

@@ -282,7 +282,7 @@ func (f *Interface) listenOut(i int) {
 	plaintext := make([]byte, udp.MTU)
 	h := &header.H{}
 	fwPacket := &firewall.Packet{}
-	nb := make([]byte, 12, 12)
+	nb := make([]byte, 12)
 
 	li.ListenOut(func(fromUdpAddr netip.AddrPort, payload []byte) {
 		f.readOutsidePackets(fromUdpAddr, nil, plaintext[:0], payload, h, fwPacket, lhh, nb, i, ctCache.Get(f.l))

+ 12 - 11
overlay/tun_linux_test.go

@@ -6,26 +6,27 @@ package overlay
 import "testing"
 
 var runAdvMSSTests = []struct {
-	name     string
-	tun      *tun
-	r        Route
-	expected int
+	name       string
+	defaultMTU int
+	maxMTU     int
+	r          Route
+	expected   int
 }{
 	// Standard case, default MTU is the device max MTU
-	{"default", &tun{DefaultMTU: 1440, MaxMTU: 1440}, Route{}, 0},
-	{"default-min", &tun{DefaultMTU: 1440, MaxMTU: 1440}, Route{MTU: 1440}, 0},
-	{"default-low", &tun{DefaultMTU: 1440, MaxMTU: 1440}, Route{MTU: 1200}, 1160},
+	{"default", 1440, 1440, Route{}, 0},
+	{"default-min", 1440, 1440, Route{MTU: 1440}, 0},
+	{"default-low", 1440, 1440, Route{MTU: 1200}, 1160},
 
 	// Case where we have a route MTU set higher than the default
-	{"route", &tun{DefaultMTU: 1440, MaxMTU: 8941}, Route{}, 1400},
-	{"route-min", &tun{DefaultMTU: 1440, MaxMTU: 8941}, Route{MTU: 1440}, 1400},
-	{"route-high", &tun{DefaultMTU: 1440, MaxMTU: 8941}, Route{MTU: 8941}, 0},
+	{"route", 1440, 8941, Route{}, 1400},
+	{"route-min", 1440, 8941, Route{MTU: 1440}, 1400},
+	{"route-high", 1440, 8941, Route{MTU: 8941}, 0},
 }
 
 func TestTunAdvMSS(t *testing.T) {
 	for _, tt := range runAdvMSSTests {
 		t.Run(tt.name, func(t *testing.T) {
-			o := tt.tun.advMSS(tt.r)
+			o := advMSS(tt.r, tt.defaultMTU, tt.maxMTU)
 			if o != tt.expected {
 				t.Errorf("got %d, want %d", o, tt.expected)
 			}