Commit dc69004c authored by Mark McLoughlin's avatar Mark McLoughlin Committed by Anthony Liguori

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

Only Linux has support for IFF_VNET_HDR
Signed-off-by: default avatarMark McLoughlin <markmc@redhat.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent 15ac913b
......@@ -36,3 +36,7 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}
......@@ -65,3 +65,8 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
{
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}
......@@ -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;
}
......@@ -188,3 +188,8 @@ int tap_set_sndbuf(int fd, QemuOpts *opts)
{
return 0;
}
int tap_probe_vnet_hdr(int fd)
{
return 0;
}
......@@ -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)
{
......
......@@ -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 */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment