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,
stack: s,
endpoint: endpoint,
udpForwarder: newUDPForwarder(logger),
udpForwarder: newUDPForwarder(mtu, logger),
ctx: ctx,
cancel: cancel,
netstack: netstack,

View File

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