mirror of
https://github.com/amnezia-vpn/amneziawg-go.git
synced 2025-04-13 20:46:55 +02:00
conn: simplify supportsUDPOffload
This allows a kernel to support UDP_GRO while not supporting UDP_SEGMENT. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
42ec952ead
commit
177caa7e44
1 changed files with 2 additions and 8 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue