Re: [PATCH 1/3] tun: move internal flag defines out of uapi
From: Michael S. Tsirkin <hidden>
Date: 2014-11-19 17:08:57
Also in:
lkml, netdev
On Wed, Nov 19, 2014 at 06:50:17PM +0200, Michael S. Tsirkin wrote:
On Wed, Nov 19, 2014 at 10:47:14AM -0600, Dan Williams wrote:quoted
On Wed, 2014-11-19 at 18:18 +0200, Michael S. Tsirkin wrote:quoted
TUN_ flags are internal and never exposed to userspace. Any application using it is almost certainly buggy.Except for TUN_TUN_DEV and TUN_TAP_DEV and TUN_TYPE_MASK... which we're using (for some reason) in NetworkManager, though I'll happily convert those to IFF_* instead. It might be worth #defining those to their IFF_* equivalents since their usage is not technically broken. DanHmm you are right, they happen to have the same value. I'll send v2 leaving these in place.
Though I do think userspace shouldn't depend on them generally, so it might be a good idea to stop using them, even though I'll fix up my patches to avoid breaking this usecase.
quoted
quoted
Move them out to tun.c, we'll remove them in follow-up patches. Signed-off-by: Michael S. Tsirkin <redacted> --- include/uapi/linux/if_tun.h | 14 -------------- drivers/net/tun.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 14 deletions(-)diff --git a/include/uapi/linux/if_tun.h b/include/uapi/linux/if_tun.h index e9502dd..b82c276 100644 --- a/include/uapi/linux/if_tun.h +++ b/include/uapi/linux/if_tun.h@@ -23,20 +23,6 @@ /* Read queue size */ #define TUN_READQ_SIZE 500 -/* TUN device flags */ -#define TUN_TUN_DEV 0x0001 -#define TUN_TAP_DEV 0x0002 -#define TUN_TYPE_MASK 0x000f - -#define TUN_FASYNC 0x0010 -#define TUN_NOCHECKSUM 0x0020 -#define TUN_NO_PI 0x0040 -/* This flag has no real effect */ -#define TUN_ONE_QUEUE 0x0080 -#define TUN_PERSIST 0x0100 -#define TUN_VNET_HDR 0x0200 -#define TUN_TAP_MQ 0x0400 - /* Ioctl defines */ #define TUNSETNOCSUM _IOW('T', 200, int) #define TUNSETDEBUG _IOW('T', 201, int)diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 2e18ddd..81735f5 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c@@ -103,6 +103,20 @@ do { \ } while (0) #endif +/* TUN device flags */ +#define TUN_TUN_DEV 0x0001 +#define TUN_TAP_DEV 0x0002 +#define TUN_TYPE_MASK 0x000f + +#define TUN_FASYNC 0x0010 +#define TUN_NOCHECKSUM 0x0020 +#define TUN_NO_PI 0x0040 +/* This flag has no real effect */ +#define TUN_ONE_QUEUE 0x0080 +#define TUN_PERSIST 0x0100 +#define TUN_VNET_HDR 0x0200 +#define TUN_TAP_MQ 0x0400 + #define GOODCOPY_LEN 128 #define FLT_EXACT_COUNT 8