From 177caa7e4419d1b95bbf0423f6be6230c7101504 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 18 Oct 2023 21:02:52 +0200 Subject: [PATCH] conn: simplify supportsUDPOffload This allows a kernel to support UDP_GRO while not supporting UDP_SEGMENT. Signed-off-by: Jason A. Donenfeld --- conn/features_linux.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/conn/features_linux.go b/conn/features_linux.go index e1fb57f..8959d93 100644 --- a/conn/features_linux.go +++ b/conn/features_linux.go @@ -18,15 +18,9 @@ func supportsUDPOffload(conn *net.UDPConn) (txOffload, rxOffload bool) { } err = rc.Control(func(fd uintptr) { _, errSyscall := unix.GetsockoptInt(int(fd), unix.IPPROTO_UDP, unix.UDP_SEGMENT) - if errSyscall != nil { - return - } - txOffload = true + txOffload = errSyscall == nil opt, errSyscall := unix.GetsockoptInt(int(fd), unix.IPPROTO_UDP, unix.UDP_GRO) - if errSyscall != nil { - return - } - rxOffload = opt == 1 + rxOffload = errSyscall == nil && opt == 1 }) if err != nil { return false, false