From 1faac1f7d48d3f7bfa2d168b1ad5680d3288f585 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 22 Oct 2009 17:49:15 +0100 Subject: net: move tap_set_offload() code into tap-linux.c TUNSETOFFLOAD is only available on Linux Signed-off-by: Mark McLoughlin Signed-off-by: Anthony Liguori --- net/tap.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) (limited to 'net/tap.c') diff --git a/net/tap.c b/net/tap.c index 3f6722ea6c..9b110716e6 100644 --- a/net/tap.c +++ b/net/tap.c @@ -243,27 +243,8 @@ void tap_set_offload(VLANClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo) { TAPState *s = vc->opaque; - unsigned int offload = 0; - - if (csum) { - offload |= TUN_F_CSUM; - if (tso4) - offload |= TUN_F_TSO4; - if (tso6) - offload |= TUN_F_TSO6; - if ((tso4 || tso6) && ecn) - offload |= TUN_F_TSO_ECN; - if (ufo) - offload |= TUN_F_UFO; - } - if (ioctl(s->fd, TUNSETOFFLOAD, offload) != 0) { - offload &= ~TUN_F_UFO; - if (ioctl(s->fd, TUNSETOFFLOAD, offload) != 0) { - fprintf(stderr, "TUNSETOFFLOAD ioctl() failed: %s\n", - strerror(errno)); - } - } + return tap_fd_set_offload(s->fd, csum, tso4, tso6, ecn, ufo); } static void tap_cleanup(VLANClientState *vc) -- cgit v1.2.3