Server IP : 15.235.198.142 / Your IP : 216.73.216.149 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/modules/6.8.0-45-generic/build/include/net/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * inet_dscp.h: helpers for handling differentiated services codepoints (DSCP) * * DSCP is defined in RFC 2474: * * 0 1 2 3 4 5 6 7 * +---+---+---+---+---+---+---+---+ * | DSCP | CU | * +---+---+---+---+---+---+---+---+ * * DSCP: differentiated services codepoint * CU: currently unused * * The whole DSCP + CU bits form the DS field. * The DS field is also commonly called TOS or Traffic Class (for IPv6). * * Note: the CU bits are now used for Explicit Congestion Notification * (RFC 3168). */ #ifndef _INET_DSCP_H #define _INET_DSCP_H #include <linux/types.h> /* Special type for storing DSCP values. * * A dscp_t variable stores a DS field with the CU (ECN) bits cleared. * Using dscp_t allows to strictly separate DSCP and ECN bits, thus avoiding * bugs where ECN bits are erroneously taken into account during FIB lookups * or policy routing. * * Note: to get the real DSCP value contained in a dscp_t variable one would * have to do a bit shift after calling inet_dscp_to_dsfield(). We could have * a helper for that, but there's currently no users. */ typedef u8 __bitwise dscp_t; #define INET_DSCP_MASK 0xfc static inline dscp_t inet_dsfield_to_dscp(__u8 dsfield) { return (__force dscp_t)(dsfield & INET_DSCP_MASK); } static inline __u8 inet_dscp_to_dsfield(dscp_t dscp) { return (__force __u8)dscp; } static inline bool inet_validate_dscp(__u8 val) { return !(val & ~INET_DSCP_MASK); } #endif /* _INET_DSCP_H */