NetworkManager/src/devices
Beniamino Galvani 97620ec18b core,libnm: don't touch device TC configuration by default
NetworkManager supports a very limited set of qdiscs. If users want to
configure a unsupported qdisc, they need to do it outside of
NetworkManager using tc.

The problem is that NM also removes all qdiscs and filters during
activation if the connection doesn't contain a TC setting. Therefore,
setting TC configuration outside of NM is hard because users need to
do it *after* the connection is up (for example through a dispatcher
script).

Let NM consider the presence (or absence) of a TC setting in the
connection to determine whether NM should configure (or not) qdiscs
and filters on the interface. We already do something similar for
SR-IOV configuration.

Since new connections don't have the TC setting, the new behavior
(ignore existing configuration) will be the default. The impact of
this change in different scenarios is:

 - the user previously configured TC settings via NM. This continues
   to work as before;

 - the user didn't set any qdiscs or filters in the connection, and
   expected NM to clear them from the interface during activation.
   Here there is a change in behavior, but it seems unlikely that
   anybody relied on the old one;

 - the user didn't care about qdiscs and filters; NM removed all
   qdiscs upon activation, and so the default qdisc from kernel was
   used. After this change, NM will not touch qdiscs and the default
   qdisc will be used, as before;

 - the user set a different qdisc via tc and NM cleared it during
   activation. Now this will work as expected.

So, the new default behavior seems better than the previous one.

https://bugzilla.redhat.com/show_bug.cgi?id=1928078
(cherry picked from commit a48edd0410)
(cherry picked from commit 2a8181bcd7)
(cherry picked from commit de1449375a)
2021-06-18 08:29:48 +02:00
..
adsl meson: merge branch 'inigomartinez/meson-license' 2020-03-28 12:45:19 +01:00
bluetooth shared: add nm_utils_invoke_on_timeout() 2020-04-24 13:58:46 +02:00
ovs Revert "ovs: clean up interfaces from ovsdb at startup" 2020-12-14 13:52:16 +01:00
team team: perform cleanup immediately when connecting to teamd fails 2020-07-16 09:44:54 +02:00
tests lldp: omit empty "object-id" for LLDP management address 2020-06-15 15:05:25 +02:00
wifi wifi: auto-activate devices as soon as the first scan finishes 2021-02-09 10:57:14 +01:00
wwan wwan: fix leaking "bearer" in connect_ready() 2021-03-12 15:39:23 +01:00
meson.build license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
nm-acd-manager.c acd: fix char buffer argument to _acd_event_to_string_buf() 2020-05-08 07:43:27 +02:00
nm-acd-manager.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-6lowpan.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-device-6lowpan.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-bond.c device: inline check_changed_options() in can_reapply_change() 2020-09-10 22:16:57 +02:00
nm-device-bond.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-bridge.c bridge: refactor definition of options array to use a macro and C99 designated initializer 2020-05-08 08:02:51 +02:00
nm-device-bridge.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-dummy.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-dummy.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-ethernet-utils.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-ethernet-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-ethernet.c device: reset original autoneg/speed/duplex setting on deactivate 2020-05-29 12:49:05 +02:00
nm-device-ethernet.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-device-factory.c all: use nm_clear_pointer() instead of g_clear_pointer() 2020-03-23 11:22:38 +01:00
nm-device-factory.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-device-generic.c all: use nm_clear_g_free() instead of g_clear_pointer() 2020-03-23 11:05:34 +01:00
nm-device-generic.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-infiniband.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-device-infiniband.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-ip-tunnel.c ip-tunnel: set ip6gretap MAC address when creating the link 2020-05-15 09:48:25 +02:00
nm-device-ip-tunnel.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-logging.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-device-macsec.c device: avoid coverity warning about unused variable 2020-05-06 11:50:15 +02:00
nm-device-macsec.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-macvlan.c device: fix compilation error "--without-more-asserts" 2020-05-07 11:15:22 +02:00
nm-device-macvlan.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-ppp.c ppp: fix taking control of link generated by kernel 2020-07-08 15:07:44 +02:00
nm-device-ppp.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-device-private.h ppp: fix taking control of link generated by kernel 2020-07-08 15:07:44 +02:00
nm-device-tun.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-device-tun.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-veth.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-veth.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-vlan.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-device-vlan.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-vrf.c core,libnm: add VRF support 2020-01-14 09:51:56 +01:00
nm-device-vrf.h core,libnm: add VRF support 2020-01-14 09:51:56 +01:00
nm-device-vxlan.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-device-vxlan.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-wireguard.c wireguard: don't let explicit gateway override WireGuard's peer route 2020-04-22 11:36:51 +02:00
nm-device-wireguard.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-wpan.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device-wpan.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-device.c core,libnm: don't touch device TC configuration by default 2021-06-18 08:29:48 +02:00
nm-device.h all: add device.path property 2020-06-12 16:04:06 +02:00
nm-lldp-listener.c lldp: omit empty "object-id" for LLDP management address 2020-06-15 15:05:25 +02:00
nm-lldp-listener.h lldp/tests: add test for parsing LLDP frame 2020-06-11 16:49:27 +02:00