summaryrefslogtreecommitdiff
path: root/net/net.c
diff options
context:
space:
mode:
authorGreg Kurz <gkurz@linux.vnet.ibm.com>2015-06-17 15:23:44 +0200
committerMichael S. Tsirkin <mst@redhat.com>2015-06-17 17:12:54 +0200
commitc80cd6bb9c20ef518c56319ce44d2971171e677d (patch)
tree429628bacf81bc8d68d2313fd5668c8144177520 /net/net.c
parent04b7a1523d65bb5c78832098cf3108a1aadcaf8a (diff)
downloadqemu-c80cd6bb9c20ef518c56319ce44d2971171e677d.zip
tap: add VNET_LE/VNET_BE operations
The linux tap and macvtap backends can be told to parse vnet headers according to little or big endian. This is done through the TUNSETVNETLE and TUNSETVNETBE ioctls. This patch brings all the plumbing for QEMU to use these APIs. Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c
index db6be12a1e..5148aacf81 100644
--- a/net/net.c
+++ b/net/net.c
@@ -510,6 +510,24 @@ void qemu_set_vnet_hdr_len(NetClientState *nc, int len)
nc->info->set_vnet_hdr_len(nc, len);
}
+int qemu_set_vnet_le(NetClientState *nc, bool is_le)
+{
+ if (!nc || !nc->info->set_vnet_le) {
+ return -ENOSYS;
+ }
+
+ return nc->info->set_vnet_le(nc, is_le);
+}
+
+int qemu_set_vnet_be(NetClientState *nc, bool is_be)
+{
+ if (!nc || !nc->info->set_vnet_be) {
+ return -ENOSYS;
+ }
+
+ return nc->info->set_vnet_be(nc, is_be);
+}
+
int qemu_can_send_packet(NetClientState *sender)
{
int vm_running = runstate_is_running();