I followed your advice and I checked all possibilities, but QOS on VLAN still doesn’t want work. Classifier works very good. I see changing counters on “pkts” “bytes” when I do iptables -v -L -t mangle, but traffic is shaped by default class on ETH00. I think this is because filter which get MARK from iptables is attached to wrong interface ETH00. Command tc -s filter show dev ETH00.4 (this is my vlan, ETH00 is native) doesn’t show any filters, with qdisc and with class is the same. I saw few scripts on LARC mailinglist and they using qdisc, class, and filters with VLAN interfaces. When I disable QOS on main interface ETH00, and add filter, class and qdisc from script to ETH00.4 everything works fine. As you wrote in FAQ VLAN interface is almost the same as regular so why we can’t add QOS ?