oVirt / vdsm

The Virtual Desktop Server Manager
GNU General Public License v2.0
160 stars 201 forks source link

Duplicate tc filters when attach vlanned and non-vlanned networks with qos to interface #373

Open mwperina opened 1 year ago

mwperina commented 1 year ago

Description of problem: When I attach two networks (one with vlan, one without) with qos to same interface vdsm duplicates tc filters

Steps to Reproduce:

  1. Create non-bridged network without vlan with qos. Create non-bridged network with vlan (100) with qos, and attach them to the same interface.

You will see these tc filters (Actual results):

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 filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800::801 order 2049 key ht 800 bkt 0 flowid :1388 not_in_hw match 00000000/00000000 at 0

Expected results:

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

So, this filter is redundant:

filter parent 1389: protocol all pref 5000 u32 chain 0 fh 800::801 order 2049 key ht 800 bkt 0 flowid :1388 not_in_hw match 00000000/00000000 at 0

Created from https://bugzilla.redhat.com/show_bug.cgi?id=2111065

xtron commented 1 year ago

Ovirt version 4.50.0.12