ovirt-engine
ovirt-engine copied to clipboard
Changing vlan on network with QOS remains unused tc classes and filters
reated attachment 1899425 [details] qos
Steps to Reproduce:
- Create non-bridged vlan network with qos params: no_br_100, vlan 100, qos_30_50_10 (qos.png), and attach this network to host interface. You will see these tc parameters:
tc qdisc show dev enp7s0
qdisc hfsc 1389: root refcnt 2 default 1388 qdisc fq_codel 64: parent 1389:64 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 1388: parent 1389:1388 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc ingress ffff: parent ffff:fff1 ----------------
tc class show dev enp7s0
class hfsc 1389: root class hfsc 1389:1388 parent 1389: leaf 1388: ls m1 0bit d 0us m2 240bit class hfsc 1389:64 parent 1389: leaf 64: rt m1 0bit d 0us m2 10Mbit ls m1 0bit d 0us m2 240bit ul m1 0bit d 0us m2 50Mbit
tc filter show dev enp7s0
filter parent 1389: protocol all pref 100 basic chain 0 filter parent 1389: protocol all pref 100 basic chain 0 handle 0x1 flowid 1389:64 meta(vlan eq 100)
filter parent 1389: protocol all pref 5000 u32 chain 0 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800: ht divisor 1 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid :1388 not_in_hw match 00000000/00000000 at 0
2.Change network vlan to 101, and You will see these parameters (Actual results):
tc qdisc show dev enp7s0
qdisc hfsc 1389: root refcnt 2 default 1388 qdisc fq_codel 64: parent 1389:64 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 1388: parent 1389:1388 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 65: parent 1389:65 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc ingress ffff: parent ffff:fff1 ----------------
tc class show dev enp7s0
class hfsc 1389: root class hfsc 1389:1388 parent 1389: leaf 1388: ls m1 0bit d 0us m2 240bit class hfsc 1389:64 parent 1389: leaf 64: rt m1 0bit d 0us m2 10Mbit ls m1 0bit d 0us m2 240bit ul m1 0bit d 0us m2 50Mbit class hfsc 1389:65 parent 1389: leaf 65: rt m1 0bit d 0us m2 10Mbit ls m1 0bit d 0us m2 240bit ul m1 0bit d 0us m2 50Mbit
tc filter show dev enp7s0
filter parent 1389: protocol all pref 100 basic chain 0 filter parent 1389: protocol all pref 100 basic chain 0 handle 0x1 flowid 1389:64 meta(vlan eq 100)
filter parent 1389: protocol all pref 101 basic chain 0 filter parent 1389: protocol all pref 101 basic chain 0 handle 0x1 flowid 1389:65 meta(vlan eq 101)
filter parent 1389: protocol all pref 5000 u32 chain 0 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800: ht divisor 1 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid :1388 not_in_hw match 00000000/00000000 at 0
Expected results:
tc qdisc show dev enp7s0
qdisc hfsc 1389: root refcnt 2 default 1388 qdisc fq_codel 1388: parent 1389:1388 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 65: parent 1389:65 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc ingress ffff: parent ffff:fff1 ----------------
tc class show dev enp7s0
class hfsc 1389: root class hfsc 1389:1388 parent 1389: leaf 1388: ls m1 0bit d 0us m2 240bit class hfsc 1389:65 parent 1389: leaf 65: rt m1 0bit d 0us m2 10Mbit ls m1 0bit d 0us m2 240bit ul m1 0bit d 0us m2 50Mbit
tc filter show dev enp7s0
filter parent 1389: protocol all pref 101 basic chain 0 filter parent 1389: protocol all pref 101 basic chain 0 handle 0x1 flowid 1389:65 meta(vlan eq 101)
filter parent 1389: protocol all pref 5000 u32 chain 0 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800: ht divisor 1 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid :1388 not_in_hw match 00000000/00000000 at 0
So you see that filters and classes for vlan 100 remain, if you will change vlan again and again the tc classes and filters from previous vlans remain.
Created from https://bugzilla.redhat.com/show_bug.cgi?id=2111062
Ovirt version 4.50.0.12