summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/socketops.go
diff options
context:
space:
mode:
authorAyush Ranjan <ayushranjan@google.com>2020-11-18 13:40:23 -0800
committergVisor bot <gvisor-bot@google.com>2020-11-18 13:42:27 -0800
commit3e73c519a55191827dcc6e98ea0ffe977acbb73f (patch)
tree5d21f1bab06977bfe2c36051bcd72cc6d250c159 /pkg/tcpip/socketops.go
parentd2b701758d3fb1c39162243521e6b985f8b5ef78 (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.go14
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)
+}