aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/if_tun.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2008-07-03 06:46:16 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-03 06:46:16 -0400
commit5228ddc98fa49b3cedab4024e269d62410a0d806 (patch)
tree0d3cceeac55ec09b0fa593666bc03373954b3d9a /include/linux/if_tun.h
parent07240fd0902c872f044f523893364a1a24c9f278 (diff)
tun: TUNSETFEATURES to set gso features.
ethtool is useful for setting (some) device fields, but it's root-only. Finer feature control is available through a tun-specific ioctl. (Includes Mark McLoughlin <markmc@redhat.com>'s fix to hold rtnl sem). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Max Krasnyansky <maxk@qualcomm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_tun.h')
-rw-r--r--include/linux/if_tun.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h
index 94f76a112303..3f0a0995d449 100644
--- a/include/linux/if_tun.h
+++ b/include/linux/if_tun.h
@@ -41,6 +41,7 @@
41#define TUNSETLINK _IOW('T', 205, int) 41#define TUNSETLINK _IOW('T', 205, int)
42#define TUNSETGROUP _IOW('T', 206, int) 42#define TUNSETGROUP _IOW('T', 206, int)
43#define TUNGETFEATURES _IOR('T', 207, unsigned int) 43#define TUNGETFEATURES _IOR('T', 207, unsigned int)
44#define TUNSETOFFLOAD _IOW('T', 208, unsigned int)
44 45
45/* TUNSETIFF ifr flags */ 46/* TUNSETIFF ifr flags */
46#define IFF_TUN 0x0001 47#define IFF_TUN 0x0001
@@ -48,6 +49,12 @@
48#define IFF_NO_PI 0x1000 49#define IFF_NO_PI 0x1000
49#define IFF_ONE_QUEUE 0x2000 50#define IFF_ONE_QUEUE 0x2000
50 51
52/* Features for GSO (TUNSETOFFLOAD). */
53#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */
54#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
55#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
56#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
57
51struct tun_pi { 58struct tun_pi {
52 unsigned short flags; 59 unsigned short flags;
53 __be16 proto; 60 __be16 proto;