Hi
Yes it did work since I remember (like around 2.4.x) and it changed since I moved from Debian 8 to 9. I would appreciate fixing that in the future beacuse it is essential for queueing traffic on the routers, but the question is why these filters don`t work in that case:

    tc filter add dev $LAN_ETH parent 1:0 protocol ip prio 4 u32 match u32 0x0a000c08 0xffffffff at 20 classid 1:2001      # for 10.0.12.8 ip address     tc filter add dev $LAN_ETH parent 1:0 protocol ip prio 4 u32 match u32 0x0a000c09 0xffffffff at 20 classid 1:2002      # for 10.0.12.9 ip address     tc filter add dev $LAN_ETH parent 1:0 protocol ip prio 4 u32 match u32 0x0a000c10 0xffffffff at 20 classid 1:2003      # for 10.0.12.10 ip address

I`ve changed "at 16" which works without vlan tags to "at 20" to take vlan tag into account.

Best regards
Bartek Kois

W dniu 01.01.2019 o 20:33, Cong Wang pisze:
On Mon, Dec 31, 2018 at 10:13 AM Bartek Kois <bartek.k...@gmail.com> wrote:
Hi,
I tested 4.20 and the problem remains (it is not possible to classify
tagged packets if the root filter is on physical interface).
Hmm, I guess it is because the offset used by u32 filter is no
longer accurate when vlan tag is inserted into mac header.

On egress side, skb->data points to the mac header, so the offset
of IP header is different when vlan tag is involved.

Did this really work before? I don't follow vlan changes, it seems
it has been already like this for a long time.

Reply via email to