diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-03 03:46:16 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-03 03:46:16 -0700 |
commit | 5228ddc98fa49b3cedab4024e269d62410a0d806 (patch) | |
tree | 0d3cceeac55ec09b0fa593666bc03373954b3d9a /include | |
parent | 07240fd0902c872f044f523893364a1a24c9f278 (diff) | |
download | linux-5228ddc98fa49b3cedab4024e269d62410a0d806.tar.gz linux-5228ddc98fa49b3cedab4024e269d62410a0d806.tar.bz2 linux-5228ddc98fa49b3cedab4024e269d62410a0d806.zip |
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')
-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 @@ #define TUNSETLINK _IOW('T', 205, int) #define TUNSETGROUP _IOW('T', 206, int) #define TUNGETFEATURES _IOR('T', 207, unsigned int) +#define TUNSETOFFLOAD _IOW('T', 208, unsigned int) /* TUNSETIFF ifr flags */ #define IFF_TUN 0x0001 @@ -48,6 +49,12 @@ #define IFF_NO_PI 0x1000 #define IFF_ONE_QUEUE 0x2000 +/* Features for GSO (TUNSETOFFLOAD). */ +#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */ +#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */ +#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */ +#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */ + struct tun_pi { unsigned short flags; __be16 proto; |