1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef QEMU_TAP_H
17#define QEMU_TAP_H
18
19#include <stdint.h>
20#ifdef __linux__
21
22#include <linux/ioctl.h>
23
24
25#define TUNSETIFF _IOW('T', 202, int)
26#define TUNGETFEATURES _IOR('T', 207, unsigned int)
27#define TUNSETOFFLOAD _IOW('T', 208, unsigned int)
28#define TUNGETIFF _IOR('T', 210, unsigned int)
29#define TUNSETSNDBUF _IOW('T', 212, int)
30#define TUNGETVNETHDRSZ _IOR('T', 215, int)
31#define TUNSETVNETHDRSZ _IOW('T', 216, int)
32
33#endif
34
35
36#define IFF_TAP 0x0002
37#define IFF_NO_PI 0x1000
38#define IFF_VNET_HDR 0x4000
39
40
41#define TUN_F_CSUM 0x01
42#define TUN_F_TSO4 0x02
43#define TUN_F_TSO6 0x04
44#define TUN_F_TSO_ECN 0x08
45#define TUN_F_UFO 0x10
46
47struct virtio_net_hdr
48{
49 uint8_t flags;
50 uint8_t gso_type;
51 uint16_t hdr_len;
52 uint16_t gso_size;
53 uint16_t csum_start;
54 uint16_t csum_offset;
55};
56
57struct virtio_net_hdr_mrg_rxbuf
58{
59 struct virtio_net_hdr hdr;
60 uint16_t num_buffers;
61};
62
63#endif
64