- 24 Dec, 2021 1 commit
-
-
- 23 Dec, 2021 1 commit
-
-
Beniamino Galvani authored
$ nmcli connection modify dummy1 ethtool.feature-rx a (process:3077356): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory. This indicates a bug in someone's code. You must ensure an error is NULL before it's set. The overwriting error message was: 'a' is not valid; use 'on', 'off', or 'ignore' Error: failed to modify ethtool.feature-rx: 'a' is not valid; use [true, yes, on], [false, no, off] or [unknown]. Fixes: e5b46aa3 ('cli: use nmc_string_to_ternary() to parse ternary in _set_fcn_ethtool()')
-
- 21 Dec, 2021 1 commit
-
-
Beniamino Galvani authored
core: don't reset assume state if the device is unmanaged by parent NetworkManager/NetworkManager!1048
-
- 20 Dec, 2021 1 commit
-
-
When the device gets realized, similar to the situation that the device is unmanaged by platform-init, if the device is still unmanaged by parent and we clear the assume state. Then, when the device becomes managed, NM is not able to properly assume the device using the UUID. Therefore, we should not clear the assume state if the device has only the NM_UNMANAGED_PLATFORM_INIT or the NM_UNMANAGED_PARENT flag set in the unmanaged flags. The previous commit 3c4450aa ('core: don't reset assume state too early') did something similar for NM_UNMANAGED_PLATFORM_INIT flag only.
-
- 15 Dec, 2021 1 commit
-
-
Beniamino Galvani authored
-
- 10 Dec, 2021 1 commit
- 09 Dec, 2021 2 commits
-
-
Beniamino Galvani authored
Before the l3cfg rework, the ip-iface property was exported only for interfaces with an ifindex, and only in some device states. Restore the old behavior since it is part of the API. For example, firewalld uses the property to tell which interfaces have a ifindex. Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration') https://bugzilla.redhat.com/show_bug.cgi?id=2026024 NetworkManager/NetworkManager!1042
-
Beniamino Galvani authored
Routing daemons can add a large amount of routes to the system. Currently NM receives netlink notifications for all those routes and exposes them on D-Bus. With many routes, the daemon becomes increasingly slow and uses a lot of memory. The rtm_protocol field of the route indicates the source of the route. From /usr/include/linux/rtnetlink.h, the allowed values are: #define RTPROT_UNSPEC 0 #define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects; not used by current IPv4 */ #define RTPROT_KERNEL 2 /* Route installed by kernel */ #define RTPROT_BOOT 3 /* Route installed during boot */ #define RTPROT_STATIC 4 /* Route installed by administrator */ /* Values of protocol >= RTPROT_STATIC are not interpreted by kernel; they are just passed from user and back as is. It will be used by hypothetical multiple routing daemons. Note that protocol values should be standardized in order to avoid conflicts. */ #define RTPROT_GATED 8 /* Apparently, GateD */ #define RTPROT_RA 9 /* RDISC/ND router advertisements */ #define RTPROT_MRT 10 /* Merit MRT */ #define RTPROT_ZEBRA 11 /* Zebra */ #define RTPROT_BIRD 12 /* BIRD */ #define RTPROT_DNROUTED 13 /* DECnet routing daemon */ #define RTPROT_XORP 14 /* XORP */ #define RTPROT_NTK 15 /* Netsukuku */ #define RTPROT_DHCP 16 /* DHCP client */ #define RTPROT_MROUTED 17 /* Multicast daemon */ #define RTPROT_KEEPALIVED 18 /* Keepalived daemon */ #define RTPROT_BABEL 42 /* Babel daemon */ #define RTPROT_OPENR 99 /* Open Routing (Open/R) Routes */ #define RTPROT_BGP 186 /* BGP Routes */ #define RTPROT_ISIS 187 /* ISIS Routes */ #define RTPROT_OSPF 188 /* OSPF Routes */ #define RTPROT_RIP 189 /* RIP Routes */ #define RTPROT_EIGRP 192 /* EIGRP Routes */ Since NM uses only values <= RTPROT_STATIC, plus RTPROT_RA and RTPROT_DHCP, add a BPF filter to the netlink socket to discard notifications for other route types. https://bugzilla.redhat.com/show_bug.cgi?id=1861527 NetworkManager/NetworkManager!1038
-
- 01 Dec, 2021 6 commits
-
-
Lubomir Rintel authored
-
Lubomir Rintel authored
Only create a default connection with rd.neednet if we're starting with a totally blank slate. Otherwise it could be that the user already included configuration in the initrd and merely wants us to activate it. NetworkManager/NetworkManager!999
-
Lubomir Rintel authored
This bumps L3_CONFIG_DATA_TYPE_MANUALIP to be the most important address source; which is what had been the case before NetworkManager/next and is presumably what the user expects. It also comes into play for iBFT-booted machines, where iBFT contains a permanent address (no lifetime data), while DHCP might lease out the same one. In that case, expiry of the latter could potentially disrupt connectivity to a vital storage volume. Fixes: 14962cb4 ('merge: branch 'next''): https://bugzilla.redhat.com/show_bug.cgi?id=2013921 NetworkManager/NetworkManager!1011
-
-
Fernando Fernández Mancera authored
When using the "remove" command on nmcli edit mode it will reset the value to the default when no property value is specified. If the property value is specified it will remove that specific property. Example: ``` nmcli> set ethernet.wake-on-lan phy nmcli> print ethernet.wake-on-lan 802-3-ethernet.wake-on-lan: phy, default nmcli> remove ethernet.wake-on-lan default nmcli> print ethernet.wake-on-lan 802-3-ethernet.wake-on-lan: phy nmcli> remove ethernet.wake-on-lan nmcli> print ethernet.wake-on-lan 802-3-ethernet.wake-on-lan: default ```
-
Fernando Fernández Mancera authored
This patch introduces "add" command to nmcli edit mode. When using "add" it will append the value to the ones already set. This is doing the same thing than the "set" command does right now. Example: ``` nmcli> add ipv4.addresses 192.168.1.1/24 ```
-
- 30 Nov, 2021 2 commits
-
-
I've seen this in `NetworkManager-1.34.0-0.3.el8.x86_64` (latest in CentOS Stream 8 at the time of writing this message) which does not use the latest Systemd but probably the code base is the same (see https://github.com/NetworkManager/NetworkManager/commit/51f93e00a23fbd09f5ad96da6290bf4ca737d46a). Before the patch: ``` libsystemd: eth0: DHCPv6 client: T1 expires in 34y 3w 6d 45min 31s libsystemd: eth0: DHCPv6 client: T2 expires in 54y 5month 3w 3d 23h 20min 35s ``` After the patch: ``` libsystemd: eth0: DHCPv6 client: T1 expires in 3d 7h 58min 3s libsystemd: eth0: DHCPv6 client: T2 expires in 5d 2h 26min 50s ``` same box (x86_64 system) and same DHCPv6 server. This regression has likely been introduced by 8a8955507af363c31297bbc5df79852db4ad39d6. See-also: https://github.com/systemd/systemd/pull/21558 https://bugzilla.redhat.com/show_bug.cgi?id=2027267 NetworkManager/NetworkManager#863
-
- 29 Nov, 2021 5 commits
-
-
Beniamino Galvani authored
Some DHCP servers send duplicate options, and we concatenate them according to RFC 3396 section 7. Therefore, it's possible that a option carrying a IPv4 address has a length > 4. See also commit 1cbf9d22 ('n-dhcp4: accept options that are longer than requested') which did something similar in the nettools client. NetworkManager/NetworkManager#848 NetworkManager/NetworkManager!1034
-
Beniamino Galvani authored
Fix the following assertion failure: src/core/nm-l3cfg.c:2636:_l3_acd_data_state_change: assertion failed: (!acd_data->nacd_probe) When AcdData enters state NM_L3_ACD_ADDR_STATE_READY, the duplicate address detection procedure completed successfully but the address is not configured yet on the interface. In the READY state we don't clear the probe because the same probe can be reused also for defending the address. Change the assertion. https://bugzilla.redhat.com/show_bug.cgi?id=2026288 NetworkManager/NetworkManager!1035
-
-
-
We use clang-format for automatic formatting of our source files. Since clang-format is actively maintained software, the actual formatting depends on the used version of clang-format. That is unfortunate and painful, but really unavoidable unless clang-format would be strictly bug-compatible. So the version that we must use is from the current Fedora release, which is also tested by our gitlab-ci. Previously, we were using Fedora 34 with clang-tools-extra-12.0.1-1.fc34.x86_64. As Fedora 35 comes along, we need to update our formatting as Fedora 35 comes with version "13.0.0~rc1-1.fc35". An alternative would be to freeze on version 12, but that has different problems (like, it's cumbersome to rebuild clang 12 on Fedora 35 and it would be cumbersome for our developers which are on Fedora 35 to use a clang that they cannot easily install). The (differently painful) solution is to reformat from time to time, as we switch to a new Fedora (and thus clang) ...
-
- 28 Nov, 2021 1 commit
-
-
Fernando Fernández Mancera authored
When using OVS link aggregation ports, NetworkManager ovsdb is removing the ports when cleaning it up. If that happens, it should deactivate the device even if it does not have controller or the state is not assume/external. An interface that is port of the OVS bonding can be activated before the ovsdb clean up, if it is not deactivated then NetworkManager will finish with a wrong configuration. The 'ovsdb_device_removed()' is already checking that the device is "ovs-interface" with subtype "system".
-
- 26 Nov, 2021 1 commit
-
-
Fernando Fernández Mancera authored
If the user wants to disable MAC ageing on the bridge, they need to set ageing_time to zero. https://bugzilla.redhat.com/show_bug.cgi?id=1871950
-
- 19 Nov, 2021 5 commits
-
-
-
Thomas Haller authored
-
Thomas Haller authored
-
Thomas Haller authored
-
Thomas Haller authored
-
- 18 Nov, 2021 12 commits
-
-
Ana Cabral authored
-
Beniamino Galvani authored
Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration')
-
Beniamino Galvani authored
-
Beniamino Galvani authored
This is a refactor of IP configuration done by NM to make it more independent from NMDevice. See these files for more information: src/core/README.l3cfg.md src/core/README.next.ip-config.md https://bugzilla.redhat.com/show_bug.cgi?id=1868254
-
Beniamino Galvani authored
Problem: if l3cfg commits an address and routes from DHCP, when the address expires those objects are removed automatically. NM tracks the objects as missing as if the user removed them. This is to prevent l3cfg to committing them again. If the lease if renewed, l3cfg should be allowed to commit those objects again. Introduce a l3cd flag to indicate that it should be force-committed once, and propagate this flag to platform objects. In this way, l3cfg can avoid committing again objects that are removed externally, but it can commit them when the l3cd changes. Fixes-test: @bridge_down_to_l2_only
-
Beniamino Galvani authored
If an address is removed externally, it should be considered ready from ACD point of view. In this way it can be commit again (for example, if the DHCP lease is renewed).
-
Beniamino Galvani authored
If the address appears after being removed, start defending it instead of throwing an assertion.
-
When a route has the connectivity check enabled and does not have full connectivity, it should have its route metric penalized, this way this route will not be preferred over others. Fixes-test: @per_device_connectivity_check
-
DNS manager always sets `priv->config_changed = TRUE` and overwrites the "resolv.conf" file. To fix it, compare the new configuration with the old configuration, if there is no change, skipping the update. Fixes-test: @ipv4_ignore_resolveconf_with_ignore_auto_dns Fixes-test: @ipv4_ignore_resolveconf_with_ignore_auto_dns_var1 NetworkManager/NetworkManager!1023
-
When doing a reapply the ip_state must be set as PENDING, if not the ipdhcp_state won't be extended to ip_state. In addition, if one of the IP configuration is ready and the other may fail, then we should consider it ready. The other ip state does not matter at all, it can be none too. Fixes-test: @nmcli_device_reapply_routes
-
Beniamino Galvani authored
There is already the 'no_lease_timeout'.
-
Beniamino Galvani authored
'no_lease_timeout' is the timeout to get the initial lease and to renew it once it was lost. It should be scheduled when the client is started. Fixes-test: @dhcp4_outages_in_various_situation
-