Michal Privoznik 3dce400c12 virnetdevbandwidth: Unbreak tc filter update on Linux-4.20+
Guests are allowed to change their MAC addresses. Subsequently,
we may respond to that with tweaking that part of host side
configuration that depends on it. In this particular case: QoS.

Some parts of QoS are in fact set on corresponding bridge, where
overall view on traffic can be seen. Here, TC filters are used to
place incoming packets into qdiscs. These filters match source
MAC address. Therefore, upon guest changing its MAC address, the
corresponding TC filter needs to be updated too. This is done by
simply removing the old one and instantiating a new one, with new
MAC address.

Now, u32 filters (which we use) use a hash table for matching,
internally. And when deleting the old filter, we used to remove
the hash table (ID = 800::) and let the new filter instantiate
new hash table. This used to work, until kernel release 4.20
(specifically commit v4.20-rc1~27^2~131^2~11 and its friends)
where this practice was turned into error.

But that's okay - we can delete the specific filter we are after
and not touch the hash table at all.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2022-11-24 15:51:42 +01:00
..
2022-06-16 06:43:57 +02:00
2022-02-08 08:42:07 +01:00
2022-02-02 10:07:15 +01:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-02-08 08:42:07 +01:00
2021-04-13 17:00:38 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-02-01 19:01:49 +01:00
2022-06-16 06:43:57 +02:00
2021-10-21 17:34:04 +01:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2021-11-23 12:51:09 +01:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-02-08 08:42:07 +01:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-02-08 08:42:07 +01:00
2022-02-08 08:42:07 +01:00
2022-02-23 13:40:24 +01:00
2022-02-01 17:19:23 +01:00
2022-02-11 11:03:44 +01:00
2021-04-13 17:00:38 +02:00
2021-04-13 17:00:38 +02:00
2022-06-16 06:43:57 +02:00
2022-06-16 06:43:57 +02:00
2022-10-17 10:52:11 +02:00