diff options
Diffstat (limited to 'meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch')
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch new file mode 100644 index 0000000000..d613823695 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch @@ -0,0 +1,75 @@ +From be8ed13a90c528adfbe3c8543946bb2c5a2ad713 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Aug 2014 15:50:36 -0700 +Subject: [PATCH] Define IPTOS_CLASS_* macros according to RFC 2474 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-status: Pending +--- + include/netinet/ip.h | 42 ++++++++++++++++++++++++++++++------------ + 1 file changed, 30 insertions(+), 12 deletions(-) + +diff --git a/include/netinet/ip.h b/include/netinet/ip.h +index 19e1249..3fe58b9 100644 +--- a/include/netinet/ip.h ++++ b/include/netinet/ip.h +@@ -188,7 +188,25 @@ struct ip_timestamp + #define IPTOS_DSCP_EF 0xb8 + + /* +- * Definitions for IP type of service (ip_tos) ++ * In RFC 2474, Section 4.2.2.1, the Class Selector Codepoints subsume ++ * the old ToS Precedence values. ++ */ ++#define IPTOS_CLASS_MASK 0xe0 ++#define IPTOS_CLASS(class) ((class) & IPTOS_CLASS_MASK) ++#define IPTOS_CLASS_CS0 0x00 ++#define IPTOS_CLASS_CS1 0x20 ++#define IPTOS_CLASS_CS2 0x40 ++#define IPTOS_CLASS_CS3 0x60 ++#define IPTOS_CLASS_CS4 0x80 ++#define IPTOS_CLASS_CS5 0xa0 ++#define IPTOS_CLASS_CS6 0xc0 ++#define IPTOS_CLASS_CS7 0xe0 ++ ++#define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0 ++ ++/* ++ * Definitions for IP type of service (ip_tos) [deprecated; use DSCP ++ * and CS definitions above instead.] + */ + #define IPTOS_TOS_MASK 0x1E + #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) +@@ -199,18 +217,18 @@ struct ip_timestamp + #define IPTOS_MINCOST IPTOS_LOWCOST + + /* +- * Definitions for IP precedence (also in ip_tos) (hopefully unused) ++ * Definitions for IP precedence (also in ip_tos) [also deprecated.] + */ +-#define IPTOS_PREC_MASK 0xe0 +-#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) +-#define IPTOS_PREC_NETCONTROL 0xe0 +-#define IPTOS_PREC_INTERNETCONTROL 0xc0 +-#define IPTOS_PREC_CRITIC_ECP 0xa0 +-#define IPTOS_PREC_FLASHOVERRIDE 0x80 +-#define IPTOS_PREC_FLASH 0x60 +-#define IPTOS_PREC_IMMEDIATE 0x40 +-#define IPTOS_PREC_PRIORITY 0x20 +-#define IPTOS_PREC_ROUTINE 0x00 ++#define IPTOS_PREC_MASK IPTOS_CLASS_MASK ++#define IPTOS_PREC(tos) IPTOS_CLASS(tos) ++#define IPTOS_PREC_NETCONTROL IPTOS_CLASS_CS7 ++#define IPTOS_PREC_INTERNETCONTROL IPTOS_CLASS_CS6 ++#define IPTOS_PREC_CRITIC_ECP IPTOS_CLASS_CS5 ++#define IPTOS_PREC_FLASHOVERRIDE IPTOS_CLASS_CS4 ++#define IPTOS_PREC_FLASH IPTOS_CLASS_CS3 ++#define IPTOS_PREC_IMMEDIATE IPTOS_CLASS_CS2 ++#define IPTOS_PREC_PRIORITY IPTOS_CLASS_CS1 ++#define IPTOS_PREC_ROUTINE IPTOS_CLASS_CS0 + + /* + * Definitions for options. +-- +2.1.0 + |