bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-09 23:33 UTC
[Bug 1856] New: Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 Summary: Wrong QoS naming and obsolete defaults Product: Portable OpenSSH Version: 5.8p1 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Miscellaneous AssignedTo: unassigned-bugs at mindrot.org ReportedBy: philipp at redfish-solutions.com The files defines.h and misc.c refer to the wrong constants. It should be: IPTOS_CLASS_CS0 and not: IPTOS_DSCP_CS0 (etc for 0..7). These constants are externally defined in /usr/include/netinet/ip.h in glibc 2.12 and later. Add: #define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0 Also, the table ipqos[] should probably include: { "none", IPTOS_CLASS_DEFAULT }, Lastly, the ToS values defines in RFC-791 were deprecated in 1998 with the introduction of RFC-2474. The bit assignments used in RFC-791 now conflict with other RFCs in deployment such as RFC-3168 (section 5 "Explicit Congestion Notification in IP"). It's strongly recommended that the lines: if (options->ip_qos_interactive == -1) options->ip_qos_interactive = IPTOS_LOWDELAY; if (options->ip_qos_bulk == -1) options->ip_qos_bulk = IPTOS_THROUGHPUT; in servconf.c and readconf.c be replaced by: if (options->ip_qos_interactive == -1) options->ip_qos_interactive = IPTOS_DSCP_AF21; if (options->ip_qos_bulk == -1) options->ip_qos_bulk = IPTOS_DSCP_AF11; as per the definitions in RFC-4594 sections 4.7 ("Low-Latency Data Service Class") and 4.8 ("High-Throughput Data Service Class"), respectively... and the documentation of the default values be updated accordingly. -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-09 23:35 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 --- Comment #1 from Philip Prindeville <philipp at redfish-solutions.com> 2011-02-10 10:35:16 EST --- Also, the defaults should be explicitly called out in a comment in sshd_config and ssh_config. -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-09 23:35 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 Philip Prindeville <philipp at redfish-solutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |philipp at redfish-solutions.c | |om -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-09 23:47 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 Philip Prindeville <philipp at redfish-solutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #1995| |ok?(djm at mindrot.org) Flags| | --- Comment #2 from Philip Prindeville <philipp at redfish-solutions.com> 2011-02-10 10:47:37 EST --- Created attachment 1995 --> https://bugzilla.mindrot.org/attachment.cgi?id=1995 Fix IPTOS_CLASS_CSx naming and change default values to something not obsolete -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-16 02:50 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 --- Comment #3 from Philip Prindeville <philipp at redfish-solutions.com> 2011-02-16 13:50:32 EST --- Quoting the entire Section 3 of RFC-2474 for reference: 3. Differentiated Services Field Definition A replacement header field, called the DS field, is defined, which is intended to supersede the existing definitions of the IPv4 TOS octet [RFC791] and the IPv6 Traffic Class octet [IPv6]. Six bits of the DS field are used as a codepoint (DSCP) to select the PHB a packet experiences at each node. A two-bit currently unused (CU) field is reserved and its definition and interpretation are outside the scope of this document. The value of the CU bits are ignored by differentiated services-compliant nodes when determining the per-hop behavior to apply to a received packet. The DS field structure is presented below: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | CU | +---+---+---+---+---+---+---+---+ DSCP: differentiated services codepoint CU: currently unused In a DSCP value notation 'xxxxxx' (where 'x' may equal '0' or '1') used in this document, the left-most bit signifies bit 0 of the DS field (as shown above), and the right-most bit signifies bit 5. Implementors should note that the DSCP field is six bits wide. DS- compliant nodes MUST select PHBs by matching against the entire 6-bit DSCP field, e.g., by treating the value of the field as a table index which is used to select a particular packet handling mechanism which has been implemented in that device. The value of the CU field MUST be ignored by PHB selection. The DSCP field is defined as an unstructured field to facilitate the definition of future per-hop behaviors. With some exceptions noted below, the mapping of codepoints to PHBs MUST be configurable. A DS-compliant node MUST support the logical equivalent of a configurable mapping table from codepoints to PHBs. PHB specifications MUST include a recommended default codepoint, which MUST be unique for codepoints in the standard space (see Sec. 6). Implementations should support the recommended codepoint-to-PHB mappings in their default configuration. Operators may choose to use different codepoints for a PHB, either in addition to or in place of the recommended default. Note that if operators do so choose, re- marking of DS fields may be necessary at administrative boundaries even if the same PHBs are implemented on both sides of the boundary. See [ARCH] for further discussion of re-marking. The exceptions to general configurability are for codepoints 'xxx000' and are noted in Secs. 4.2.2 and 4.3. Packets received with an unrecognized codepoint SHOULD be forwarded as if they were marked for the Default behavior (see Sec. 4), and their codepoints should not be changed. Such packets MUST NOT cause the network node to malfunction. The structure of the DS field shown above is incompatible with the existing definition of the IPv4 TOS octet in [RFC791]. The presumption is that DS domains protect themselves by deploying re- marking boundary nodes, as should networks using the RFC 791 Precedence designations. Correct operational procedure SHOULD follow [RFC791], which states: "If the actual use of these precedence designations is of concern to a particular network, it is the responsibility of that network to control the access to, and use of, those precedence designations." Validating the value of the DS field at DS boundaries is sensible in any case since an upstream node can easily set it to any arbitrary value. DS domains that are not isolated by suitably configured boundary nodes may deliver unpredictable service. and excerpting the most pertinent two sentences: "A replacement header field, called the DS field, is defined, which is intended to supersede the existing definitions of the IPv4 TOS octet [RFC791] and the IPv6 Traffic Class octet [IPv6]. [...] The structure of the DS field shown above is incompatible with the existing definition of the IPv4 TOS octet in [RFC791]." and quoting Section 4, also for reference: 4. Historical Codepoint Definitions and PHB Requirements The DS field will have a limited backwards compatibility with current practice, as described in this section. Backwards compatibility is addressed in two ways. First, there are per-hop behaviors that are already in widespread use (e.g., those satisfying the IPv4 Precedence queueing requirements specified in [RFC1812]), and we wish to permit their continued use in DS-compliant nodes. In addition, there are some codepoints that correspond to historical use of the IP Precedence field and we reserve these codepoints to map to PHBs that meet the general requirements specified in Sec. 4.2.2.2, though the specific differentiated services PHBs mapped to by those codepoints MAY have additional specifications. No attempt is made to maintain backwards compatibility with the "DTR" or TOS bits of the IPv4 TOS octet, as defined in [RFC791]. The most significant sentence being the last one: "No attempt is made to maintain backwards compatibility with the "DTR" or TOS bits of the IPv4 TOS octet, as defined in [RFC791]." -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-16 03:19 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 Philip Prindeville <philipp at redfish-solutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |djm at mindrot.org -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2011-Feb-18 21:51 UTC
[Bug 1856] Wrong QoS naming and obsolete defaults
https://bugzilla.mindrot.org/show_bug.cgi?id=1856 Philip Prindeville <philipp at redfish-solutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #1995|0 |1 is obsolete| | Attachment #1995|ok?(djm at mindrot.org) | Flags| | Attachment #1998| |ok?(djm at mindrot.org) Flags| | --- Comment #4 from Philip Prindeville <philipp at redfish-solutions.com> 2011-02-19 08:51:21 EST --- Created attachment 1998 --> https://bugzilla.mindrot.org/attachment.cgi?id=1998 Drop obsolete RFC-791 D/T/R/C ToS markings Minus the glibc vs. OpenBSD header constant diffs. -- Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
Reasonably Related Threads
- [Bug 1964] New: QoS/DSCP names false translated to ToS hex value
- Code review request: Drop obsolete RFC-791 markings for QoS markings
- [Bug 1733] New: Enhance support for QoS (ToS) by supporting DSCP/CS and adding option
- Help: How to configure SIP domain on SPA942
- Troubleshooting one-way voice... how to peek into SIP RTP?