openssh-unix-dev February 2011 archive
Main Archive Page > Month Archives  > openssh-unix-dev archives
openssh-unix-dev: Re: QoS marking for Openssh (review wanted)

Re: QoS marking for Openssh (review wanted)

From: Philip Prindeville <philipp_subx_at_nospam>
Date: Wed Feb 09 2011 - 23:06:02 GMT
To: openssh-unix-dev@mindrot.org

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.
>

_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev