Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 274038f8 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by David S. Miller
Browse files

tun: Report "persist" flag to userspace



The TUN_PERSIST flag is not reported at all -- both TUNGETIFF, and sysfs
"flags" attribute skip one. Knowing whether a device is persistent or not
is critical for checkpoint-restore, thus I propose to add the read-only
IFF_PERSIST one for this.

Setting this new IFF_PERSIST is hardly possible, as TUNSETIFF doesn't check
for unknown flags being zero and thus there can be trash.

Signed-off-by: default avatarPavel Emelyanov <xemul@parallels.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7c0cadc6
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -1530,6 +1530,9 @@ static int tun_flags(struct tun_struct *tun)
	if (tun->flags & TUN_TAP_MQ)
	if (tun->flags & TUN_TAP_MQ)
		flags |= IFF_MULTI_QUEUE;
		flags |= IFF_MULTI_QUEUE;


	if (tun->flags & TUN_PERSIST)
		flags |= IFF_PERSIST;

	return flags;
	return flags;
}
}


+2 −0
Original line number Original line Diff line number Diff line
@@ -68,6 +68,8 @@
#define IFF_MULTI_QUEUE 0x0100
#define IFF_MULTI_QUEUE 0x0100
#define IFF_ATTACH_QUEUE 0x0200
#define IFF_ATTACH_QUEUE 0x0200
#define IFF_DETACH_QUEUE 0x0400
#define IFF_DETACH_QUEUE 0x0400
/* read-only flag */
#define IFF_PERSIST	0x0800


/* Features for GSO (TUNSETOFFLOAD). */
/* Features for GSO (TUNSETOFFLOAD). */
#define TUN_F_CSUM	0x01	/* You can hand me unchecksummed packets. */
#define TUN_F_CSUM	0x01	/* You can hand me unchecksummed packets. */