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

From: Daniel Borkmann <[email-masked]>
Date: Sat, 20 Sep 2014 17:39:07 +0200

[ 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: [email-masked]
To: [email-masked]

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: [email-masked]
           Reporter: [email-masked]
         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.