diff options
author | gVisor bot <gvisor-bot@google.com> | 2019-11-28 00:23:20 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-11-28 00:23:20 +0000 |
commit | e93dcad543b488f8aa770a6ff7eb0b25ac3faf56 (patch) | |
tree | 71de4b074d865c13ad1f43cf254a411565f13ad9 /pkg/sentry/socket/control | |
parent | be3d0b85b9d043b1a69192bfc5e5530887c5c39c (diff) | |
parent | 684f757a228f88e5fabe6ebe6ed54f0db20fd63d (diff) |
Merge release-20191114.0-41-g684f757 (automated)
Diffstat (limited to 'pkg/sentry/socket/control')
-rw-r--r-- | pkg/sentry/socket/control/control.go | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/pkg/sentry/socket/control/control.go b/pkg/sentry/socket/control/control.go index 4e95101b7..0371acede 100644 --- a/pkg/sentry/socket/control/control.go +++ b/pkg/sentry/socket/control/control.go @@ -320,11 +320,33 @@ func PackInq(t *kernel.Task, inq int32, buf []byte) []byte { buf, linux.SOL_TCP, linux.TCP_INQ, - 4, + t.Arch().Width(), inq, ) } +// PackTOS packs an IP_TOS socket control message. +func PackTOS(t *kernel.Task, tos int8, buf []byte) []byte { + return putCmsgStruct( + buf, + linux.SOL_IP, + linux.IP_TOS, + t.Arch().Width(), + tos, + ) +} + +// PackTClass packs an IPV6_TCLASS socket control message. +func PackTClass(t *kernel.Task, tClass int32, buf []byte) []byte { + return putCmsgStruct( + buf, + linux.SOL_IPV6, + linux.IPV6_TCLASS, + t.Arch().Width(), + tClass, + ) +} + // Parse parses a raw socket control message into portable objects. func Parse(t *kernel.Task, socketOrEndpoint interface{}, buf []byte) (transport.ControlMessages, error) { var ( |