tun: add VNET_LE flag
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 18 Nov 2014 15:38:08 +0000 (17:38 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 9 Dec 2014 10:05:30 +0000 (12:05 +0200)
commite999d6ea2a4f313a5bba514b08f6f01b0c0072a9
treecbd0aa5bbdc098c6aeda2ed2079cf6fa3abbd8c9
parent40630b82c20b7d800ea52919093cb7f0e3b03e3e
tun: add VNET_LE flag

virtio 1.0 modified virtio net header format,
making all fields little endian.

Users can tweak header format before submitting it to tun,
but this means more data copies where none were necessary.
And if the iovec is in RO memory, this means we might
need to split iovec also means we might in theory overflow
iovec max size.

This patch adds a simpler way for applications to handle this,
using new "little endian" flag in tun.
As a result, tun simply byte-swaps header fields as appropriate.
This is a NOP on LE architectures.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/uapi/linux/if_tun.h