include/net/inet_dscp.h
Source file repositories/reference/linux-study-clean/include/net/inet_dscp.h
File Facts
- System
- Linux kernel
- Corpus path
include/net/inet_dscp.h- Extension
.h- Size
- 1869 bytes
- Lines
- 64
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
Dependency Surface
linux/types.h
Detected Declarations
function compatibilityfunction inet_dscp_to_dsfieldfunction inet_validate_dscp
Annotated Snippet
#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
/* A few places in the IPv4 code need to ignore the three high order bits of
* DSCP because of backward compatibility (as these bits used to represent the
* IPv4 Precedence in RFC 791's TOS field and were ignored).
*/
#define INET_DSCP_LEGACY_TOS_MASK ((__force dscp_t)0x1c)
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 */
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `function compatibility`, `function inet_dscp_to_dsfield`, `function inet_validate_dscp`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.