History

tun/tap: add IFF_BACKPRESSURE flag

Add the IFF_BACKPRESSURE flag to the UAPI header and to its tools/ copy. The flag has no effect yet, it is the opt-in switch for the qdisc backpressure logic added by the following patches. It is added to TUN_FEATURES only in the last patch of the series, once the implementation is complete. Until then TUNSETIFF silently masks it off, as it does for any flag outside TUN_FEATURES. Keeping the flag and its users in separate patches would either leave a window where backpressure is unconditional, or make the opt-in a later add-on. Adding the flag first lets every following patch be a no-op unless it is set.

Simon Schippers committed 3 months ago

Commit 485e3891 parent d4e359b2 files · +8 −0Browse files

Showing the changes to include/uapi (1 of 2 files). Show all

Unified · Split

include/uapi/linux/if_tun.h+4−0
@@ -69,6 +69,10 @@ · 68 unmodified lines
69#define IFF_NAPI_FRAGS 0x002069#define IFF_NAPI_FRAGS 0x0020
70/* Used in TUNSETIFF to bring up tun/tap without carrier */70/* Used in TUNSETIFF to bring up tun/tap without carrier */
71#define IFF_NO_CARRIER 0x004071#define IFF_NO_CARRIER 0x0040
72/* Stop the queue instead of dropping when the internal ring is full, so an
73 * attached qdisc applies backpressure instead of being bypassed.
74 */
75#define IFF_BACKPRESSURE 0x0080
72#define IFF_NO_PI 0x100076#define IFF_NO_PI 0x1000
73/* This flag has no real effect */77/* This flag has no real effect */
74#define IFF_ONE_QUEUE 0x200078#define IFF_ONE_QUEUE 0x2000