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>
This commit is contained in:
Mark McLoughlin 2009-10-22 17:49:14 +01:00 committed by Anthony Liguori
parent 15ac913bfe
commit dc69004c7d
6 changed files with 27 additions and 12 deletions

View File

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

View File

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

View File

@ -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;
}

View File

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

View File

@ -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)
{

View File

@ -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 */