Browse Source

net: move tap_probe_vnet_hdr() to tap-linux.c

Only Linux has support for IFF_VNET_HDR

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
remotes/github/stable-0.12
Mark McLoughlin 17 years ago
committed by Anthony Liguori
parent
commit
dc69004c7d
  1. 4
      net/tap-aix.c
  2. 5
      net/tap-bsd.c
  3. 12
      net/tap-linux.c
  4. 5
      net/tap-solaris.c
  5. 12
      net/tap.c
  6. 1
      net/tap.h

4
net/tap-aix.c

@ -36,3 +36,7 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}

5
net/tap-bsd.c

@ -65,3 +65,8 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
{
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}

12
net/tap-linux.c

@ -99,3 +99,15 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
}
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
struct ifreq ifr;
if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
qemu_error("TUNGETIFF ioctl() failed: %s\n", strerror(errno));
return 0;
}
return ifr.ifr_flags & IFF_VNET_HDR;
}

5
net/tap-solaris.c

@ -188,3 +188,8 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
{
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}

12
net/tap.c

@ -239,18 +239,6 @@ void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr)
s->using_vnet_hdr = using_vnet_hdr;
}
static int tap_probe_vnet_hdr(int fd)
{
struct ifreq ifr;
if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
qemu_error("TUNGETIFF ioctl() failed: %s\n", strerror(errno));
return 0;
}
return ifr.ifr_flags & IFF_VNET_HDR;
}
void tap_set_offload(VLANClientState *vc, int csum, int tso4,
int tso6, int ecn, int ufo)
{

1
net/tap.h

@ -44,5 +44,6 @@ void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr);
void tap_set_offload(VLANClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo);
int tap_set_sndbuf(int fd, QemuOpts *opts);
int tap_probe_vnet_hdr(int fd);
#endif /* QEMU_NET_TAP_H */

Loading…
Cancel
Save