From patchwork Mon Aug 25 23:58:12 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 382881 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id E064B1400AA for ; Tue, 26 Aug 2014 09:54:39 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0C5D2A0B76; Mon, 25 Aug 2014 23:54:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V1Qu_ShMDwKI; Mon, 25 Aug 2014 23:54:37 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 8A2E1A0B79; Mon, 25 Aug 2014 23:54:37 +0000 (UTC) X-Original-To: uclibc@lists.busybox.net Delivered-To: uclibc@osuosl.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 11BEA1BFDBD for ; Mon, 25 Aug 2014 23:54:36 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0ED57A0B76 for ; Mon, 25 Aug 2014 23:54:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id THaE4fqO6HfH for ; Mon, 25 Aug 2014 23:54:35 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f50.google.com (mail-pa0-f50.google.com [209.85.220.50]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 964A2A0B79 for ; Mon, 25 Aug 2014 23:54:35 +0000 (UTC) Received: by mail-pa0-f50.google.com with SMTP id et14so22090162pad.23 for ; Mon, 25 Aug 2014 16:54:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=sYQfjrKTt6Dc+JJRzZpg/Lx/2UtpcTz31iypOZbugfY=; b=LzxUTPc0e9yvFojHMAQemyN13aDerj3pNbIyXKSdcmm1WfmvfAoqqnOAPUp/D7n6Xb kakmIEMvbO5+JeM1YbDLQFhUBCLh2efLu+XDZcQ1re3wvyFWR/P7X1O160VzriSXLtI9 bImon+edfv43Q4M7UCTHVdoadDWrUp2gWVjnYVGa578Pgbo0TJ7L842y6JxT8JUni+2/ SurJCx+04tmmK6VM+huOvwW5xluBqNmJ5Ue5mKm72vKFpd3ZMqV0Cbc8KBpJIFyMk/XA f0Cka0S/gSfhJfVBxMp7G6N5upBnoWBBN0IuC4ryXCNFNwdNbPvPdPaOs2iRUy00+mG3 Vx+w== X-Received: by 10.66.90.229 with SMTP id bz5mr32384623pab.80.1409010875275; Mon, 25 Aug 2014 16:54:35 -0700 (PDT) Received: from localhost.localdomain (c-98-207-177-218.hsd1.ca.comcast.net. [98.207.177.218]) by mx.google.com with ESMTPSA id pn13sm1605114pdb.53.2014.08.25.16.54.34 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 25 Aug 2014 16:54:34 -0700 (PDT) From: Khem Raj To: uclibc@uclibc.org Subject: [PATCH 1/2] Define IPTOS_CLASS_* macros according to RFC 2474 Date: Mon, 25 Aug 2014 16:58:12 -0700 Message-Id: <1409011093-8042-1-git-send-email-raj.khem@gmail.com> X-Mailer: git-send-email 2.1.0 X-BeenThere: uclibc@uclibc.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Discussion and development of uClibc \(the embedded C library\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: uclibc-bounces@uclibc.org Sender: uclibc-bounces@uclibc.org Signed-off-by: Khem Raj --- 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.