From 0babd38de0540a311e8011a0af6af2c1214a442b Mon Sep 17 00:00:00 2001 From: Archana Shinde Date: Thu, 5 Dec 2019 11:37:33 -0800 Subject: [PATCH] rootless: Disable vhost-net for rootless Since the /dev/vhost-net device is owned by root, we cannot used vhost-net networking in rootless mode. Instead of having to do this manually in the toml, disable vhost-net when the runtime detects it is running rootless. Fixes #2321 Signed-off-by: Archana Shinde --- virtcontainers/network.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/virtcontainers/network.go b/virtcontainers/network.go index 55bb773319..682e7f25e2 100644 --- a/virtcontainers/network.go +++ b/virtcontainers/network.go @@ -25,6 +25,7 @@ import ( "github.com/vishvananda/netns" "golang.org/x/sys/unix" + "github.com/kata-containers/runtime/pkg/rootless" vcTypes "github.com/kata-containers/runtime/virtcontainers/pkg/types" "github.com/kata-containers/runtime/virtcontainers/pkg/uuid" "github.com/kata-containers/runtime/virtcontainers/utils" @@ -410,7 +411,12 @@ func xConnectVMNetwork(endpoint Endpoint, h hypervisor) error { queues = int(h.hypervisorConfig().NumVCPUs) } - disableVhostNet := h.hypervisorConfig().DisableVhostNet + var disableVhostNet bool + if rootless.IsRootless() { + disableVhostNet = true + } else { + disableVhostNet = h.hypervisorConfig().DisableVhostNet + } if netPair.NetInterworkingModel == NetXConnectDefaultModel { netPair.NetInterworkingModel = DefaultNetInterworkingModel