QoS marking for Openssh (review wanted)

Philip Prindeville philipp_subx at redfish-solutions.com
Thu Feb 10 10:06:02 EST 2011


Well, it looks like my fix for QoS got badly mangled... which is what happens when it sits on the shelf for 10 months I suppose, so no surprise there.

Looking at:

$ cvs diff -u -r1.162 -r1.163 defines.h
Index: defines.h
===================================================================
RCS file: /cvs/openssh/defines.h,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -r1.162 -r1.163
--- defines.h	25 Oct 2010 05:54:28 -0000	1.162
+++ defines.h	23 Nov 2010 23:50:05 -0000	1.163
@@ -25,7 +25,7 @@
  #ifndef _DEFINES_H
  #define _DEFINES_H

-/* $Id: defines.h,v 1.162 2010/10/25 05:54:28 dtucker Exp $ */
+/* $Id: defines.h,v 1.163 2010/11/23 23:50:05 djm Exp $ */


  /* Constants */
@@ -42,6 +42,9 @@
  # define SHUT_RDWR SHUT_RDWR
  #endif

+/*
+ * Definitions for IP type of service (ip_tos)
+ */
  #ifndef IPTOS_LOWDELAY
  # define IPTOS_LOWDELAY          0x10
  # define IPTOS_THROUGHPUT        0x08
@@ -49,6 +52,40 @@
  # define IPTOS_LOWCOST           0x02
  # define IPTOS_MINCOST           IPTOS_LOWCOST
  #endif /* IPTOS_LOWDELAY */
+
+/*
+ * Definitions for DiffServ Codepoints as per RFC2474
+ */
+#include<netinet/in_systm.h>
+#include<netinet/ip.h>
+#ifndef IPTOS_DSCP_AF11
+# 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
+#endif /* IPTOS_DSCP_AF11 */
+#ifndef IPTOS_DSCP_CS0
+# define	IPTOS_DSCP_CS0		0x00
+# define	IPTOS_DSCP_CS1		0x20
+# define	IPTOS_DSCP_CS2		0x40
+# define	IPTOS_DSCP_CS3		0x60
+# define	IPTOS_DSCP_CS4		0x80
+# define	IPTOS_DSCP_CS5		0xa0
+# define	IPTOS_DSCP_CS6		0xc0
+# define	IPTOS_DSCP_CS7		0xe0
+#endif /* IPTOS_DSCP_CS0 */
+#ifndef IPTOS_DSCP_EF
+# define	IPTOS_DSCP_EF		0xb8
+#endif /* IPTOS_DSCP_EF */

  #ifndef MAXPATHLEN
  # ifdef PATH_MAX



This is very different from the defines of IPTOS_CLASS_CS0 ... IPTOS_CLASS_CS7 which I had in my patch, and which I identified with the comment:

/*
  * Temporarily needed file until glibc 2.12 becomes ubiquitous.
  */


So the provenance of the names would be clear, and exactly what we were trying to match against.

Note also that the Class-Selectors predated the definition of Differentiated Services Code Points by several years, hence the different naming.

I'll file a couple of bugs to fix this and another issue.

Not sure if it's worth attaching a patch if it's going to end up being ignored and eventually replaced with some that introduced what can only euphemistically be called "divergence".

-Philip



On 5/26/10 2:08 PM, Philip A. Prindeville wrote:
> Still being patient...  do we have an estimate on when you might get to it?
>
> Thanks.
>
>
> On 04/29/2010 08:03 PM, Damien Miller wrote:
>> we'll get to it - please be patient.
>>
>> On Thu, 29 Apr 2010, Philip Prindeville wrote:
>>
>>> On 3/24/10 12:45 PM, Philip A. Prindeville wrote:
>>>> Anyone want to code review:
>>>>
>>>> https://bugzilla.mindrot.org/show_bug.cgi?id=1733
>>>>
>>>> There's a patch attached.  We're currently using it on astlinux.
>>>>
>>>> Thanks.
>>>>
>>> Still looking to get a code-review and approval.
>>>
>>> Thanks.
>



More information about the openssh-unix-dev mailing list