Use MTU for udp max size

This commit is contained in:
Viktor Liu 2025-01-06 23:47:03 +01:00
parent fe7a2aa263
commit 4a189a87ce
2 changed files with 4 additions and 5 deletions

View File

@ -101,7 +101,7 @@ func New(iface common.IFaceMapper, logger *nblog.Logger, netstack bool) (*Forwar
logger: logger, logger: logger,
stack: s, stack: s,
endpoint: endpoint, endpoint: endpoint,
udpForwarder: newUDPForwarder(logger), udpForwarder: newUDPForwarder(mtu, logger),
ctx: ctx, ctx: ctx,
cancel: cancel, cancel: cancel,
netstack: netstack, netstack: netstack,

View File

@ -19,8 +19,7 @@ import (
) )
const ( const (
udpTimeout = 30 * time.Second udpTimeout = 30 * time.Second
maxPacketSize = 65535
) )
type udpPacketConn struct { type udpPacketConn struct {
@ -45,7 +44,7 @@ type idleConn struct {
conn *udpPacketConn conn *udpPacketConn
} }
func newUDPForwarder(logger *nblog.Logger) *udpForwarder { func newUDPForwarder(mtu int, logger *nblog.Logger) *udpForwarder {
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
f := &udpForwarder{ f := &udpForwarder{
logger: logger, logger: logger,
@ -54,7 +53,7 @@ func newUDPForwarder(logger *nblog.Logger) *udpForwarder {
cancel: cancel, cancel: cancel,
bufPool: sync.Pool{ bufPool: sync.Pool{
New: func() any { New: func() any {
b := make([]byte, maxPacketSize) b := make([]byte, mtu)
return &b return &b
}, },
}, },