summary refs log tree commit diff
path: root/seccomp
diff options
context:
space:
mode:
authorStephen Barber <smbarber@chromium.org>2019-12-13 16:49:44 -0800
committerCommit Bot <commit-bot@chromium.org>2020-01-08 23:10:13 +0000
commit58df38b61519222911baa761ffd26da93613dbf6 (patch)
treea97b757f47f72cd3a10edad9bc86ad034f2eaf56 /seccomp
parent5c1208d128e96a54e0083a036b4d95168cc631ce (diff)
downloadcrosvm-58df38b61519222911baa761ffd26da93613dbf6.tar
crosvm-58df38b61519222911baa761ffd26da93613dbf6.tar.gz
crosvm-58df38b61519222911baa761ffd26da93613dbf6.tar.bz2
crosvm-58df38b61519222911baa761ffd26da93613dbf6.tar.lz
crosvm-58df38b61519222911baa761ffd26da93613dbf6.tar.xz
crosvm-58df38b61519222911baa761ffd26da93613dbf6.tar.zst
crosvm-58df38b61519222911baa761ffd26da93613dbf6.zip
devices: net: add control queue for enabling/disabling offloads
Add a control queue for virtio_net, and implement the command to set
available networking offloads.

Set offloads initially when acking features from the guest. We previously set
offloads on unconditionally.

Add TUNSETOFFLOAD to the allowed ioctls for virtio_net.

BUG=chromium:1031413
TEST=boot 5.4 guest, check vmtap offloads enabled with ethtool
TEST=enable ip_forward in guest, check vmtap offloads disabled with ethtool

Change-Id: I4129aa03419798906bd95cf65a6a4ab63069f50b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1968200
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Stephen Barber <smbarber@chromium.org>
Tested-by: Stephen Barber <smbarber@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'seccomp')
-rw-r--r--seccomp/aarch64/net_device.policy3
-rw-r--r--seccomp/arm/net_device.policy3
-rw-r--r--seccomp/x86_64/net_device.policy3
3 files changed, 9 insertions, 0 deletions
diff --git a/seccomp/aarch64/net_device.policy b/seccomp/aarch64/net_device.policy
index f9e98f0..1b8f2b6 100644
--- a/seccomp/aarch64/net_device.policy
+++ b/seccomp/aarch64/net_device.policy
@@ -3,3 +3,6 @@
 # found in the LICENSE file.
 
 @include /usr/share/policy/crosvm/common_device.policy
+
+# TUNSETOFFLOAD
+ioctl: arg1 == 0x400454d0
diff --git a/seccomp/arm/net_device.policy b/seccomp/arm/net_device.policy
index 4f7aafd..26770ab 100644
--- a/seccomp/arm/net_device.policy
+++ b/seccomp/arm/net_device.policy
@@ -3,3 +3,6 @@
 # found in the LICENSE file.
 
 @include /usr/share/policy/crosvm/common_device.policy
+
+# TUNSETOFFLOAD
+ioctl: arg1 == 0x400454d0
diff --git a/seccomp/x86_64/net_device.policy b/seccomp/x86_64/net_device.policy
index 72ecd5a..c7f17d9 100644
--- a/seccomp/x86_64/net_device.policy
+++ b/seccomp/x86_64/net_device.policy
@@ -3,3 +3,6 @@
 # found in the LICENSE file.
 
 @include /usr/share/policy/crosvm/common_device.policy
+
+# TUNSETOFFLOAD
+ioctl: arg1 == 0x400454d0