virtio: Don't expose legacy net features when VIRTIO_NET_NO_LEGACY defined.
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 13 Feb 2015 06:43:44 +0000 (17:13 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 13 Feb 2015 06:45:54 +0000 (17:15 +1030)
commited9ecb0415b97b5f9f91f146e1977bb372c74c6d
treef4208700a00b17b8455d2bf4f4c8e5459f014ece
parent1e1c17a7a2e5c585926eefffbea8a61d7a03a247
virtio: Don't expose legacy net features when VIRTIO_NET_NO_LEGACY defined.

In particular, the virtio header always has the u16 num_buffers field.
We define a new 'struct virtio_net_hdr_v1' for this (rather than
simply calling it 'struct virtio_net_hdr', to avoid nasty type errors
if some parts of a project define VIRTIO_NET_NO_LEGACY and some don't.

Transitional devices (which can't define VIRTIO_NET_NO_LEGACY) will
have to keep using struct virtio_net_hdr_mrg_rxbuf, which has the same
byte layout as struct virtio_net_hdr_v1.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
include/uapi/linux/virtio_net.h