Fwd: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86

3 messages, 3 authors, 2014-09-20 · open the first message on its own page

Fwd: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86

From: Daniel Borkmann <hidden>
Date: 2014-09-20 15:39:24

[ Cc'ing Yang ]

-------- Original Message --------
Subject: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86
Date: Tue, 16 Sep 2014 11:47:20 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: dborkman@redhat.com

https://bugzilla.kernel.org/show_bug.cgi?id=84661

             Bug ID: 84661
            Summary: tc filter show from iproute2 does not work correctly
                     on 32bit x86
            Product: Networking
            Version: 2.5
     Kernel Version: 3.14.17 and 3.16.1
           Hardware: All
                 OS: Linux
               Tree: Mainline
             Status: NEW
           Severity: normal
           Priority: P1
          Component: Other
           Assignee: shemminger@linux-foundation.org
           Reporter: rider@altlinux.org
         Regression: No

i tested this issue with kernels 3.14.x and 3.16.x. and iproute2-3.16.0

This commit:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=6a031f67c83aa175aedd10d4ae64750415ab57b0
breaking output tc filter show on 32bit systems.

This simple script shows the difference in the work on i586 and x86_64:
-------------------------
#!/bin/sh
dev=$1
tc qdisc add dev $dev root handle 1: htb default fffe
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32
tc filter add dev $dev parent 1:0 protocol ip pref 10 handle 100: u32 divisor 8
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc filter show dev $dev
tc filter del dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc qdisc del dev $dev root handle 1: htb default fffe
---------------------------

output on i586:

#./script enp0s25
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1


output on x86_64:
# ./script eth0
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt
0 link 100:
   match 0a150800/fffff800 at 16
     hash mask 00000700 at 16

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

Re: Fwd: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86

From: Eric Dumazet <hidden>
Date: 2014-09-20 16:50:32

On Sat, 2014-09-20 at 17:39 +0200, Daniel Borkmann wrote:
[ Cc'ing Yang ]

-------- Original Message --------
Subject: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86
Date: Tue, 16 Sep 2014 11:47:20 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: dborkman@redhat.com

https://bugzilla.kernel.org/show_bug.cgi?id=84661

             Bug ID: 84661
            Summary: tc filter show from iproute2 does not work correctly
                     on 32bit x86
            Product: Networking
            Version: 2.5
     Kernel Version: 3.14.17 and 3.16.1
           Hardware: All
                 OS: Linux
               Tree: Mainline
             Status: NEW
           Severity: normal
           Priority: P1
          Component: Other
           Assignee: shemminger@linux-foundation.org
           Reporter: rider@altlinux.org
         Regression: No

i tested this issue with kernels 3.14.x and 3.16.x. and iproute2-3.16.0

This commit:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=6a031f67c83aa175aedd10d4ae64750415ab57b0
breaking output tc filter show on 32bit systems.

This simple script shows the difference in the work on i586 and x86_64:
-------------------------
#!/bin/sh
dev=$1
tc qdisc add dev $dev root handle 1: htb default fffe
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32
tc filter add dev $dev parent 1:0 protocol ip pref 10 handle 100: u32 divisor 8
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc filter show dev $dev
tc filter del dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc qdisc del dev $dev root handle 1: htb default fffe
---------------------------

output on i586:

#./script enp0s25
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1


output on x86_64:
# ./script eth0
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt
0 link 100:
   match 0a150800/fffff800 at 16
     hash mask 00000700 at 16
I do not understand how a netem patch could change something for this
case ?

Re: Fwd: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86

From: Anton Farygin <hidden>
Date: 2014-09-20 18:02:15

On 20.09.2014 20:50, Eric Dumazet wrote:
On Sat, 2014-09-20 at 17:39 +0200, Daniel Borkmann wrote:
quoted
[ Cc'ing Yang ]

-------- Original Message --------
Subject: [Bug 84661] New: tc filter show from iproute2 does not work correctly on 32bit x86
Date: Tue, 16 Sep 2014 11:47:20 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: dborkman@redhat.com

https://bugzilla.kernel.org/show_bug.cgi?id=84661

              Bug ID: 84661
             Summary: tc filter show from iproute2 does not work correctly
                      on 32bit x86
             Product: Networking
             Version: 2.5
      Kernel Version: 3.14.17 and 3.16.1
            Hardware: All
                  OS: Linux
                Tree: Mainline
              Status: NEW
            Severity: normal
            Priority: P1
           Component: Other
            Assignee: shemminger@linux-foundation.org
            Reporter: rider@altlinux.org
          Regression: No

i tested this issue with kernels 3.14.x and 3.16.x. and iproute2-3.16.0

This commit:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=6a031f67c83aa175aedd10d4ae64750415ab57b0
breaking output tc filter show on 32bit systems.

This simple script shows the difference in the work on i586 and x86_64:
-------------------------
#!/bin/sh
dev=$1
tc qdisc add dev $dev root handle 1: htb default fffe
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32
tc filter add dev $dev parent 1:0 protocol ip pref 10 handle 100: u32 divisor 8
tc filter add dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc filter show dev $dev
tc filter del dev $dev parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst
10.21.10.0/21 hashkey mask 0x00000700 at 16 link 100:
tc qdisc del dev $dev root handle 1: htb default fffe
---------------------------

output on i586:

#./script enp0s25
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1


output on x86_64:
# ./script eth0
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 8
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt
0 link 100:
    match 0a150800/fffff800 at 16
      hash mask 00000700 at 16
I do not understand how a netem patch could change something for this
case ?
No, Anton Boyarshinov checked this commit, and the problem is not in it.
the bug had appearedbetween the last and the first release of the 3.13 
and 3.14 kernel.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help