diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-03 06:46:16 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-03 06:46:16 -0400 |
commit | 5228ddc98fa49b3cedab4024e269d62410a0d806 (patch) | |
tree | 0d3cceeac55ec09b0fa593666bc03373954b3d9a /include/linux/if_tun.h | |
parent | 07240fd0902c872f044f523893364a1a24c9f278 (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.h | 7 |
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 | |||
51 | struct tun_pi { | 58 | struct tun_pi { |
52 | unsigned short flags; | 59 | unsigned short flags; |
53 | __be16 proto; | 60 | __be16 proto; |