Revision f54c7bdc
b/net.c | ||
---|---|---|
46 | 46 |
#include <net/if_tap.h> |
47 | 47 |
#endif |
48 | 48 |
#ifdef __linux__ |
49 |
#include "tap-linux.h" |
|
49 |
#include "net/tap-linux.h"
|
|
50 | 50 |
#endif |
51 | 51 |
#include <arpa/inet.h> |
52 | 52 |
#include <dirent.h> |
b/net/tap-linux.h | ||
---|---|---|
1 |
/* |
|
2 |
* Universal TUN/TAP device driver. |
|
3 |
* Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com> |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; either version 2 of the License, or |
|
8 |
* (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
*/ |
|
15 |
|
|
16 |
#ifndef QEMU_TAP_H |
|
17 |
#define QEMU_TAP_H |
|
18 |
|
|
19 |
#include <stdint.h> |
|
20 |
#include <linux/ioctl.h> |
|
21 |
|
|
22 |
/* Ioctl defines */ |
|
23 |
#define TUNSETIFF _IOW('T', 202, int) |
|
24 |
#define TUNGETFEATURES _IOR('T', 207, unsigned int) |
|
25 |
#define TUNSETOFFLOAD _IOW('T', 208, unsigned int) |
|
26 |
#define TUNGETIFF _IOR('T', 210, unsigned int) |
|
27 |
#define TUNSETSNDBUF _IOW('T', 212, int) |
|
28 |
|
|
29 |
/* TUNSETIFF ifr flags */ |
|
30 |
#define IFF_TAP 0x0002 |
|
31 |
#define IFF_NO_PI 0x1000 |
|
32 |
#define IFF_VNET_HDR 0x4000 |
|
33 |
|
|
34 |
/* Features for GSO (TUNSETOFFLOAD). */ |
|
35 |
#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */ |
|
36 |
#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */ |
|
37 |
#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */ |
|
38 |
#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */ |
|
39 |
#define TUN_F_UFO 0x10 /* I can handle UFO packets */ |
|
40 |
|
|
41 |
struct virtio_net_hdr |
|
42 |
{ |
|
43 |
uint8_t flags; |
|
44 |
uint8_t gso_type; |
|
45 |
uint16_t hdr_len; |
|
46 |
uint16_t gso_size; |
|
47 |
uint16_t csum_start; |
|
48 |
uint16_t csum_offset; |
|
49 |
}; |
|
50 |
|
|
51 |
#endif /* QEMU_TAP_H */ |
/dev/null | ||
---|---|---|
1 |
/* |
|
2 |
* Universal TUN/TAP device driver. |
|
3 |
* Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com> |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; either version 2 of the License, or |
|
8 |
* (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
*/ |
|
15 |
|
|
16 |
#ifndef QEMU_TAP_H |
|
17 |
#define QEMU_TAP_H |
|
18 |
|
|
19 |
#include <stdint.h> |
|
20 |
#include <linux/ioctl.h> |
|
21 |
|
|
22 |
/* Ioctl defines */ |
|
23 |
#define TUNSETIFF _IOW('T', 202, int) |
|
24 |
#define TUNGETFEATURES _IOR('T', 207, unsigned int) |
|
25 |
#define TUNSETOFFLOAD _IOW('T', 208, unsigned int) |
|
26 |
#define TUNGETIFF _IOR('T', 210, unsigned int) |
|
27 |
#define TUNSETSNDBUF _IOW('T', 212, int) |
|
28 |
|
|
29 |
/* TUNSETIFF ifr flags */ |
|
30 |
#define IFF_TAP 0x0002 |
|
31 |
#define IFF_NO_PI 0x1000 |
|
32 |
#define IFF_VNET_HDR 0x4000 |
|
33 |
|
|
34 |
/* Features for GSO (TUNSETOFFLOAD). */ |
|
35 |
#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */ |
|
36 |
#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */ |
|
37 |
#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */ |
|
38 |
#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */ |
|
39 |
#define TUN_F_UFO 0x10 /* I can handle UFO packets */ |
|
40 |
|
|
41 |
struct virtio_net_hdr |
|
42 |
{ |
|
43 |
uint8_t flags; |
|
44 |
uint8_t gso_type; |
|
45 |
uint16_t hdr_len; |
|
46 |
uint16_t gso_size; |
|
47 |
uint16_t csum_start; |
|
48 |
uint16_t csum_offset; |
|
49 |
}; |
|
50 |
|
|
51 |
#endif /* QEMU_TAP_H */ |
Also available in: Unified diff