Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01b07fb3 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by David S. Miller
Browse files

macvtap: drop broken IFF_VNET_LE



Use TUNSETVNETLE/TUNGETVNETLE instead.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1cf8e410
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -46,16 +46,18 @@ struct macvtap_queue {
	struct list_head next;
};

#define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_VNET_LE | IFF_MULTI_QUEUE)
#define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE)

#define MACVTAP_VNET_LE 0x80000000

static inline u16 macvtap16_to_cpu(struct macvtap_queue *q, __virtio16 val)
{
	return __virtio16_to_cpu(q->flags & IFF_VNET_LE, val);
	return __virtio16_to_cpu(q->flags & MACVTAP_VNET_LE, val);
}

static inline __virtio16 cpu_to_macvtap16(struct macvtap_queue *q, u16 val)
{
	return __cpu_to_virtio16(q->flags & IFF_VNET_LE, val);
	return __cpu_to_virtio16(q->flags & MACVTAP_VNET_LE, val);
}

static struct proto macvtap_proto = {
@@ -1070,6 +1072,21 @@ static long macvtap_ioctl(struct file *file, unsigned int cmd,
		q->vnet_hdr_sz = s;
		return 0;

	case TUNGETVNETLE:
		s = !!(q->flags & MACVTAP_VNET_LE);
		if (put_user(s, sp))
			return -EFAULT;
		return 0;

	case TUNSETVNETLE:
		if (get_user(s, sp))
			return -EFAULT;
		if (s)
			q->flags |= MACVTAP_VNET_LE;
		else
			q->flags &= ~MACVTAP_VNET_LE;
		return 0;

	case TUNSETOFFLOAD:
		/* let the user check for future flags */
		if (arg & ~(TUN_F_CSUM | TUN_F_TSO4 | TUN_F_TSO6 |