From patchwork Wed Nov 25 18:49:35 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [42/44] net: check for TUNSETOFFLOAD support before trying to enable offload features Date: Wed, 25 Nov 2009 08:49:35 -0000 From: Mark McLoughlin X-Patchwork-Id: 39444 Message-Id: <1259174977-26212-43-git-send-email-markmc@redhat.com> To: qemu-devel@nongnu.org Cc: Mark McLoughlin , Pierre Riteau From: Pierre Riteau This avoids the "TUNSETOFFLOAD ioctl() failed: Invalid argument" message on kernels without TUNSETOFFLOAD support. Signed-off-by: Pierre Riteau Signed-off-by: Mark McLoughlin --- net/tap-linux.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/net/tap-linux.c b/net/tap-linux.c index e4f7e27..6af9e82 100644 --- a/net/tap-linux.c +++ b/net/tap-linux.c @@ -131,6 +131,11 @@ void tap_fd_set_offload(int fd, int csum, int tso4, { unsigned int offload = 0; + /* Check if our kernel supports TUNSETOFFLOAD */ + if (ioctl(fd, TUNSETOFFLOAD, 0) != 0 && errno == EINVAL) { + return; + } + if (csum) { offload |= TUN_F_CSUM; if (tso4)