Bug 1480136

Summary: iproute has removed some items from file rt_dsfield
Product: Red Hat Enterprise Linux 7 Reporter: Jaroslav Aster <jaster>
Component: iprouteAssignee: Phil Sutter <psutter>
Status: CLOSED ERRATA QA Contact: Jaroslav Aster <jaster>
Severity: low Docs Contact:
Priority: low    
Version: 7.4-AltCC: atragler, jaster
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: iproute-4.11.0-2.el7a Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1595683 (view as bug list) Environment:
Last Closed: 2017-11-09 11:25:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jaroslav Aster 2017-08-10 09:54:18 UTC
Description of problem:

iproute has removed some items from file rt_dsfield. Commands, which uses these items, have stopped to work.

--- rt_dsfield-3.10.0-87.el7    2017-08-10 11:36:22.656933568 +0200
+++ rt_dsfield-4.11.0-1.el7a    2017-08-10 11:35:42.768235784 +0200
@@ -1,17 +1,6 @@
-0x00   default
-0x10   lowdelay
-0x08   throughput
-0x04   reliability
-# This value overlap with ECT, do not use it!
-0x02   mincost
-# These values seems do not want to die, Cisco likes them by a strange reason.
-0x20   priority
-0x40   immediate
-0x60   flash
-0x80   flash-override
-0xa0   critical
-0xc0   internet
-0xe0   network
+# Differentiated field values
+# These include the DSCP and unused bits
+0x0    default
 # Newer RFC2597 values
 0x28   AF11
 0x30   AF12
@@ -25,3 +14,13 @@
 0x88   AF41
 0x90   AF42
 0x98   AF43
+# Older values RFC2474
+0x20   CS1
+0x40   CS2
+0x60   CS3
+0x80   CS4
+0xA0   CS5
+0xC0   CS6
+0xE0   CS7
+# RFC 2598
+0xB8   EF


Version-Release number of selected component (if applicable):

iproute-4.11.0-1.el7a


How reproducible:

100%

Steps to Reproduce:

# rpm -q iproute
iproute-3.10.0-87.el7.aarch64
# ip rule add from 192.168.1.0/24 tos lowdelay
# ip rule list
0:      from all lookup local 
32765:  from 192.168.1.0/24 tos lowdelay lookup main 
32766:  from all lookup main 
32767:  from all lookup default 
# ip rule list | grep lowdelay
32765:  from 192.168.1.0/24 tos lowdelay lookup main 


# rpm -q iproute
iproute-4.11.0-1.el7a.ppc64le
# ip rule add from 192.168.1.0/24 tos lowdelay
Error: argument "lowdelay" is wrong: TOS value is invalid

# ip rule list
0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 
# ip rule list | grep lowdelay
<<nothing>>

Comment 1 Phil Sutter 2017-08-10 12:39:10 UTC
This upstream change was intentional:

commit eb5d01ff38080935a1a528e4c99cab42bf93d762
Author: Stephen Hemminger <stephen>
Date:   Sun Sep 14 20:40:37 2014 -0700

    update dsfield file values
    
    Update the rt_dsfield file to contain values defined in current RFC.
    The days of TOS precedence are gone, even Cisco doesn't refer
    to these in the documents.


Do you think we should stay compatible? I guess it shouldn't be a problem to ship a customized rt_dsfield config file.

Comment 2 Jaroslav Aster 2017-08-10 13:11:19 UTC
Hi Phil,

yes, I think it would be better to stay compatible with older version.

Comment 3 Phil Sutter 2017-08-10 14:15:32 UTC
(In reply to Jaroslav Aster from comment #2)
> Hi Phil,
> 
> yes, I think it would be better to stay compatible with older version.

OK, then let's do this.

Thanks, Phil

Comment 7 errata-xmlrpc 2017-11-09 11:25:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:3172