diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-02-04 23:49:56 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-02-04 07:49:57 -0500 |
commit | a586d4f6016f7139d8c26df0e6927131168d3b5b (patch) | |
tree | 1c47e1a6b6b8fb18baa42f32980f29c4ae9cbbdc /include/linux/virtio_net.h | |
parent | f35d9d8aae08940b7fdd1bb8110619da2ece6b28 (diff) |
virtio: simplify config mechanism.
Previously we used a type/len pair within the config space, but this
seems overkill. We now simply define a structure which represents the
layout in the config space: the config space can now only be extended
at the end.
The main driver-visible changes:
1) We indicate what fields are present with an explicit feature bit.
2) Virtqueues are explicitly numbered, and not in the config space.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/virtio_net.h')
-rw-r--r-- | include/linux/virtio_net.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h index ae469ae55d36..6e8fdfea8cd0 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h | |||
@@ -5,16 +5,19 @@ | |||
5 | /* The ID for virtio_net */ | 5 | /* The ID for virtio_net */ |
6 | #define VIRTIO_ID_NET 1 | 6 | #define VIRTIO_ID_NET 1 |
7 | 7 | ||
8 | /* The bitmap of config for virtio net */ | 8 | /* The feature bitmap for virtio net */ |
9 | #define VIRTIO_CONFIG_NET_F 0x40 | ||
10 | #define VIRTIO_NET_F_NO_CSUM 0 | 9 | #define VIRTIO_NET_F_NO_CSUM 0 |
11 | #define VIRTIO_NET_F_TSO4 1 | 10 | #define VIRTIO_NET_F_TSO4 1 |
12 | #define VIRTIO_NET_F_UFO 2 | 11 | #define VIRTIO_NET_F_UFO 2 |
13 | #define VIRTIO_NET_F_TSO4_ECN 3 | 12 | #define VIRTIO_NET_F_TSO4_ECN 3 |
14 | #define VIRTIO_NET_F_TSO6 4 | 13 | #define VIRTIO_NET_F_TSO6 4 |
14 | #define VIRTIO_NET_F_MAC 5 | ||
15 | 15 | ||
16 | /* The config defining mac address. */ | 16 | struct virtio_net_config |
17 | #define VIRTIO_CONFIG_NET_MAC_F 0x41 | 17 | { |
18 | /* The config defining mac address (if VIRTIO_NET_F_MAC) */ | ||
19 | __u8 mac[6]; | ||
20 | } __attribute__((packed)); | ||
18 | 21 | ||
19 | /* This is the first element of the scatter-gather list. If you don't | 22 | /* This is the first element of the scatter-gather list. If you don't |
20 | * specify GSO or CSUM features, you can simply ignore the header. */ | 23 | * specify GSO or CSUM features, you can simply ignore the header. */ |