diff options
author | Ayush Ranjan <ayushranjan@google.com> | 2020-11-18 13:40:23 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-11-18 13:42:27 -0800 |
commit | 3e73c519a55191827dcc6e98ea0ffe977acbb73f (patch) | |
tree | 5d21f1bab06977bfe2c36051bcd72cc6d250c159 /pkg/tcpip/socketops.go | |
parent | d2b701758d3fb1c39162243521e6b985f8b5ef78 (diff) |
[netstack] Move SO_NO_CHECK option to SocketOptions.
PiperOrigin-RevId: 343146856
Diffstat (limited to 'pkg/tcpip/socketops.go')
-rw-r--r-- | pkg/tcpip/socketops.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pkg/tcpip/socketops.go b/pkg/tcpip/socketops.go index e1b0d6354..cc3d59d9d 100644 --- a/pkg/tcpip/socketops.go +++ b/pkg/tcpip/socketops.go @@ -32,6 +32,10 @@ type SocketOptions struct { // passCredEnabled determines whether SCM_CREDENTIALS socket control messages // are enabled. passCredEnabled uint32 + + // noChecksumEnabled determines whether UDP checksum is disabled while + // transmitting for this socket. + noChecksumEnabled uint32 } func storeAtomicBool(addr *uint32, v bool) { @@ -61,3 +65,13 @@ func (so *SocketOptions) GetPassCred() bool { func (so *SocketOptions) SetPassCred(v bool) { storeAtomicBool(&so.passCredEnabled, v) } + +// GetNoChecksum gets value for SO_NO_CHECK option. +func (so *SocketOptions) GetNoChecksum() bool { + return atomic.LoadUint32(&so.noChecksumEnabled) != 0 +} + +// SetNoChecksum sets value for SO_NO_CHECK option. +func (so *SocketOptions) SetNoChecksum(v bool) { + storeAtomicBool(&so.noChecksumEnabled, v) +} |