Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/net/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  inet_dscp.h   Sprache: C

 
/* 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 */

Messung V0.5
C=94 H=100 G=96

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.