From f7d37ea87c66f7ffd64b7cbb010e6fa04b618ee3 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Fri, 28 Feb 2025 15:41:24 +0200 Subject: [PATCH] net: ipv4: Add DiffServ DSCP code point definitions Add DSCP defines for cases where the IPv4 packets need classification. Signed-off-by: Jukka Rissanen --- subsys/net/ip/ipv4.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/subsys/net/ip/ipv4.h b/subsys/net/ip/ipv4.h index e70fae3ff1f..120bb0b20b2 100644 --- a/subsys/net/ip/ipv4.h +++ b/subsys/net/ip/ipv4.h @@ -25,6 +25,26 @@ #define NET_IPV4_DSCP_OFFSET 2 #define NET_IPV4_ECN_MASK 0x03 +/* IPv4 DiffServ code points (DSCP) for Assured Forwarding (AF) group. + * See https://tools.ietf.org/html/rfc2597 + * https://en.wikipedia.org/wiki/Differentiated_services + */ +/* Drop probability low */ +#define NET_IPV4_DSCP_AF11 10 /* 001010 */ /* Class 1 */ +#define NET_IPV4_DSCP_AF21 18 /* 010010 */ /* Class 2 */ +#define NET_IPV4_DSCP_AF31 26 /* 011010 */ /* Class 3 */ +#define NET_IPV4_DSCP_AF41 34 /* 100010 */ /* Class 4 */ +/* Drop probability medium */ +#define NET_IPV4_DSCP_AF12 12 /* 001100 */ /* Class 1 */ +#define NET_IPV4_DSCP_AF22 20 /* 010100 */ /* Class 2 */ +#define NET_IPV4_DSCP_AF32 28 /* 011100 */ /* Class 3 */ +#define NET_IPV4_DSCP_AF42 36 /* 100100 */ /* Class 4 */ +/* Drop probability high */ +#define NET_IPV4_DSCP_AF13 14 /* 001110 */ /* Class 1 */ +#define NET_IPV4_DSCP_AF23 22 /* 010110 */ /* Class 2 */ +#define NET_IPV4_DSCP_AF33 30 /* 011110 */ /* Class 3 */ +#define NET_IPV4_DSCP_AF43 38 /* 100110 */ /* Class 4 */ + /* IPv4 Options */ #define NET_IPV4_OPTS_EO 0 /* End of Options */ #define NET_IPV4_OPTS_NOP 1 /* No operation */