return 0;
}
+int tap_probe_vnet_hdr(int fd)
+{
+ return 0;
+}
{
return 0;
}
+
+int tap_probe_vnet_hdr(int fd)
+{
+ return 0;
+}
}
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;
+}
{
return 0;
}
+
+int tap_probe_vnet_hdr(int fd)
+{
+ return 0;
+}
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)
{
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 */