macvtap: drop broken IFF_VNET_LE
Use TUNSETVNETLE/TUNGETVNETLE instead. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
1cf8e410b6
commit
01b07fb350
@@ -46,16 +46,18 @@ struct macvtap_queue {
|
|||||||
struct list_head next;
|
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)
|
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)
|
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 = {
|
static struct proto macvtap_proto = {
|
||||||
@@ -1070,6 +1072,21 @@ static long macvtap_ioctl(struct file *file, unsigned int cmd,
|
|||||||
q->vnet_hdr_sz = s;
|
q->vnet_hdr_sz = s;
|
||||||
return 0;
|
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:
|
case TUNSETOFFLOAD:
|
||||||
/* let the user check for future flags */
|
/* let the user check for future flags */
|
||||||
if (arg & ~(TUN_F_CSUM | TUN_F_TSO4 | TUN_F_TSO6 |
|
if (arg & ~(TUN_F_CSUM | TUN_F_TSO4 | TUN_F_TSO6 |
|
||||||
|
|||||||
Reference in New Issue
Block a user