if_tun.h
01:
02:
03: <max_mk@yahoo.com>
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16: #ifndef __IF_TUN_H
17: #define __IF_TUN_H
18:
19: #include <linux/types.h>
20: #include <linux/if_ether.h>
21: #include <linux/filter.h>
22:
23:
24: #define TUN_READQ_SIZE 500
25:
26:
27: #define TUN_TUN_DEV 0x0001
28: #define TUN_TAP_DEV 0x0002
29: #define TUN_TYPE_MASK 0x000f
30:
31: #define TUN_FASYNC 0x0010
32: #define TUN_NOCHECKSUM 0x0020
33: #define TUN_NO_PI 0x0040
34: #define TUN_ONE_QUEUE 0x0080
35: #define TUN_PERSIST 0x0100
36: #define TUN_VNET_HDR 0x0200
37:
38:
39: #define TUNSETNOCSUM _IOW('T', 200, int)
40: #define TUNSETDEBUG _IOW('T', 201, int)
41: #define TUNSETIFF _IOW('T', 202, int)
42: #define TUNSETPERSIST _IOW('T', 203, int)
43: #define TUNSETOWNER _IOW('T', 204, int)
44: #define TUNSETLINK _IOW('T', 205, int)
45: #define TUNSETGROUP _IOW('T', 206, int)
46: #define TUNGETFEATURES _IOR('T', 207, unsigned int)
47: #define TUNSETOFFLOAD _IOW('T', 208, unsigned int)
48: #define TUNSETTXFILTER _IOW('T', 209, unsigned int)
49: #define TUNGETIFF _IOR('T', 210, unsigned int)
50: #define TUNGETSNDBUF _IOR('T', 211, int)
51: #define TUNSETSNDBUF _IOW('T', 212, int)
52: #define TUNATTACHFILTER _IOW('T', 213, struct sock_fprog)
53: #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog)
54: #define TUNGETVNETHDRSZ _IOR('T', 215, int)
55: #define TUNSETVNETHDRSZ _IOW('T', 216, int)
56:
57:
58: #define IFF_TUN 0x0001
59: #define IFF_TAP 0x0002
60: #define IFF_NO_PI 0x1000
61: #define IFF_ONE_QUEUE 0x2000
62: #define IFF_VNET_HDR 0x4000
63: #define IFF_TUN_EXCL 0x8000
64:
65:
66: #define TUN_F_CSUM 0x01
67: #define TUN_F_TSO4 0x02
68: #define TUN_F_TSO6 0x04
69: #define TUN_F_TSO_ECN 0x08
70: #define TUN_F_UFO 0x10
71:
72:
73: #define TUN_PKT_STRIP 0x0001
74: struct tun_pi {
75: __u16 flags;
76: __be16 proto;
77: };
78:
79:
80:
81:
82:
83:
84:
85:
86:
87: #define TUN_FLT_ALLMULTI 0x0001
88: struct tun_filter {
89: __u16 flags;
90: __u16 count;
91: __u8 addr[0][ETH_ALEN];
92: };
93:
94: #endif
95:
© Andrew Scott 2006 -
2025,
All Rights Reserved