about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2009-10-29 10:40:55 -0700
committerUlrich Drepper <drepper@redhat.com>2009-10-29 10:40:55 -0700
commit8d55628106730c5e318fa3673b69588509d983f2 (patch)
treed2e717a37641b17572e7a238cb7077d842e9c73d
parent81c84bd9022328127f46d0484d254848911ea198 (diff)
downloadglibc-8d55628106730c5e318fa3673b69588509d983f2.tar.gz
glibc-8d55628106730c5e318fa3673b69588509d983f2.tar.xz
glibc-8d55628106730c5e318fa3673b69588509d983f2.zip
Add macros for DSCP markings.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/generic/netinet/ip.h38
2 files changed, 41 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a54bc10848..a169cee2c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-10-29  Ulrich Drepper  <drepper@redhat.com>
 
+	[BZ #10789]
+	* sysdeps/generic/netinet/ip.h: Define IPTOS_ENC* and IPTOS_DSCP*
+	macros.  Patch by  Philip Prindeville <philipp@redfish-solutions.com>.
+
 	[BZ #10840]
 	* sysdeps/unix/sysv/linux/kernel-features.h: Define
 	__ASSUME_F_GETOWN_EX.
diff --git a/sysdeps/generic/netinet/ip.h b/sysdeps/generic/netinet/ip.h
index fc91440527..38bd7556da 100644
--- a/sysdeps/generic/netinet/ip.h
+++ b/sysdeps/generic/netinet/ip.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2009 Free Software
+   Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -153,6 +154,41 @@ struct ip_timestamp
 #define	IP_MAXPACKET	65535		/* maximum packet size */
 
 /*
+ * Definitions for Explicit Congestion Notification (ECN)
+ *
+ * Taken from RFC-3168, Section 5.
+ */
+
+#define	IPTOS_ECN_MASK		0x03
+#define	IPTOS_ECN(x)		((x) & IPTOS_ECN_MASK)
+#define	IPTOS_ECN_NOT_ECT	0x00
+#define	IPTOS_ECN_ECT1		0x01
+#define	IPTOS_ECN_ECT0		0x02
+#define	IPTOS_ECN_CE		0x03
+
+/*
+ * Definitions for IP differentiated services code points (DSCP)
+ *
+ * Taken from RFC-2597, Section 6 and RFC-2598, Section 2.3.
+ */
+
+#define	IPTOS_DSCP_MASK		0xfc
+#define	IPTOS_DSCP(x)		((x) & IPTOS_DSCP_MASK)
+#define	IPTOS_DSCP_AF11		0x28
+#define	IPTOS_DSCP_AF12		0x30
+#define	IPTOS_DSCP_AF13		0x38
+#define	IPTOS_DSCP_AF21		0x48
+#define	IPTOS_DSCP_AF22		0x50
+#define	IPTOS_DSCP_AF23		0x58
+#define	IPTOS_DSCP_AF31		0x68
+#define	IPTOS_DSCP_AF32		0x70
+#define	IPTOS_DSCP_AF33		0x78
+#define	IPTOS_DSCP_AF41		0x88
+#define	IPTOS_DSCP_AF42		0x90
+#define	IPTOS_DSCP_AF43		0x98
+#define	IPTOS_DSCP_EF		0xb8
+
+/*
  * Definitions for IP type of service (ip_tos)
  */
 #define	IPTOS_TOS_MASK		0x1E