Skip to content

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

@mwperina

Description

@mwperina

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions