| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
split-out of #34989.
|
| |
| |
| |
| |
| |
| | |
And use it when explicit reconfiguration is requested by Reconfigure() DBus method
or networkd certainly detects that connected network is changed.
Otherwise do not use the flag especially when we come back from sleep mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
E.g. when a .network file is updated, but DHCP setting is unchanged, it
is not necessary to drop acquired DHCP lease.
So, let's not stop DHCP client and friends in link_reconfigure_impl(),
but stop them later when we know they are not necessary anymore.
Still DHCP clients and friends are stopped and leases are dropped when
the explicit reconfiguration is requested
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a reconfiguration of an interface is triggered, previously we
call link_foreignize_config(), which sets all static configurations as
foreign, then later call link_drop_foreign_config(), which drops
unnecessary foreign configurations.
This commit merges these two steps into one, link_drop_unmanaged_config(),
which drops unnecessary static and foreign configurations.
Also, this renames link_drop_managed_configs() to
link_drop_static_config(), as it only drops static configurations.
Note that dynamically aquired configurations are dropped by
link_stop_engines().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Effectively no functional changes, just refactoring and preparation for
later changes.
- convert boolean flag 'force' to LinkReconfigurationFlag enum,
- merge link_reconfigure() and reconfigure_handler_on_bus_method_reload() as
link_reconfigure_full(),
- Rename ReconfigureData -> LinkReconfigurationData,
- make Reconfigure() DBus message wait for reconfiguration being
started before sending reply.
|
| |
| |
| |
| | |
No functional change, just refactoring.
|
|\ \
| | |
| | |
| | |
| | | |
(#35040)
Closes #32426.
|
| | |
| | |
| | |
| | | |
Closes #32426.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
It is normal for DHCP leases not to have DNR options. We need to be less
verbose and more forgiving in these cases. Also, if either DHCP does not
have DNR options, make sure to still consider any DHCPv6/RA options.
Fixes: c7c9e3c7c016 (network: adjust log message about DNR)
|
|/
|
|
| |
For justification, see 3f9a0a522f2029e9295ea5e9984259022be88413.
|
|
|
|
|
|
|
| |
We need a sensible limit on the number of Encrypted DNS options allowed
so that the set of resolvers per link does not grow without bound.
Fixes: 0c90d1d2f243 ("ndisc: Parse RFC9463 encrypted DNS (DNR) option")
|
|
|
|
|
| |
KeepConfiguration=dhcp or dhcp-on-stop already violate RFC. It is not
necessary to honor the RFC about sending decline message on stop.
|
|
|
|
| |
They will be used in another file in a later commit.
|
|
|
|
|
| |
This also fixes the position of the logging "Enumeration completed.",
and downgrade its log level.
|
|
|
|
|
|
|
|
| |
We enumerate interfaces at first, then enumerate other configurations
like addresses and so on. If we are running on a container, previously
we started to configure the enumerated interfaces before enumerating other
configurations.
Let's configure interfaces after all configurations are enumerated.
|
| |
|
|
|
|
|
| |
It is currently unused, but will be used later.
Preparation for later commits.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Inspired by: #34640
|
| | |
|
|\ \
| | |
| | | |
split-out of #34989..
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
No functional change, at least now. Preparation for later commits.
But we are planning to extend KeepConfiguration= and also keep
addresses and so on assigned by other dynamic configuration protocol
like DHCPv6 or NDisc.
However, when link_free_engines() is called here, acquired addresses so
on by NDisc will be removed, even if link_stop_engines() handles
restarting networkd or KeepConfiguration= gracefully.
So, let's not free engines here, but free them later in link_free().
It is not necessary to be called here anyway.
|
| |/
| |
| |
| |
| | |
In that case, requests will never be processed anyway. But further more,
we cannot call link_ref() at that stage. Otherwise, we trigger assertion.
|
| | |
|
|/
|
|
|
| |
When KeepConfiguration=dhcp, we do not remove acquired address, hence
not necessary to restart IPv4LL client.
|
|
|
|
|
|
|
| |
If a tunnel or vxlan is configured with Local=dhcp4 or so, then the
local address needs to be changed when it is changed.
Fixes #24854.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Then, when a .netdev file of a stacked netdev is modified, the netdev
can be reconfigured with the updated setting by something like the
following way:
```
ip link del vlan99
networkctl reload
```
Note, removing the vlan interface in the above example may not be necessary,
e.g. when only VLAN flags, egress mapping, or ingress mapping are updated.
But, it is necessary when VLAN ID is updated.
Closes #9627.
Closes #27177.
Closes #34907.
Replaces #22557.
|
|
|
|
|
| |
Some netdev configs can be modified after the interface is created.
Let's allow to reconfigure existing interfaces.
|
|
|
|
|
|
| |
to netdev_load()
No functional change, preparation for later commits.
|
|\
| |
| | |
split-out of #34909.
|
| |
| |
| |
| |
| | |
The 6rd SIT tunnel configuration can be updated without recreating the
interface. Let's reuse existing tunnel.
|
| |
| |
| |
| |
| |
| |
| | |
dhcp4_pd_create_6rd_tunnel()
No functional change, just refactoring and preparation for later
commits.
|
|\ \
| | |
| | |
| | |
| | | |
already exists (#34937)
split-out of #34909.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also, though currently not supported by networkd,
IFLA_MACSEC_CIPHER_SUITE, IFLA_MACSEC_ICV_LEN, IFLA_MACSEC_SCI
cannot be updated.
|
| | |
| | |
| | |
| | |
| | | |
Currently, netdev->ifindex is always zero when this function is called.
So, this does not change any behavior. Preparation for later commits.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Several netdevs cannot set IFLA_ADDRESS or IFLA_MTU attribute on update.
Currently, the vtable field is unused, as we do not support updating
existing netdevs. Preparation for later commits.
|
|\ \ \
| | | |
| | | | |
split-out of #34909.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
updated
Even if .network file is not updated, referenced NetDev object may be
different. In that case, let's use the newly loaded Network object.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- network_load() is always called with an empty OrderedHashmap, renamed the output
parameter to 'ret'.
- When netdev_load() is called on startup, the hashmap is NULL. When it is
called on reloading, the hashmap is not cleaned up.
Hence, then these cleanups are always no-op. Let's drop them.
|
| | | | |
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes networkd process all queued remove requests when a
terminating or restarting signal is received. Otherwise, e.g. DHCPv4
address will not be removed on stop, especially when
KeepConfiguration=no.
Fixes a bug introduced by 85a6f300c14d75d161cbfdb3eaf5af9594400ecd and
its subsequent commits.
Fixes #34837.
Co-authored-by: Will Fancher <elvishjerricco@gmail.com>
|
| |
| |
| |
| |
| |
| | |
It seems there is no restriction for local and remote addresses.
Fixes #34930.
|
| |
| |
| |
| |
| |
| |
| |
| | |
interface index is specified
If an ifindex is specified, we are modifying the existing interface.
Hence, these flags should not be set. Otherwise, the request will be
refused with -EEXIST.
|
| |
| |
| |
| |
| |
| | |
No functional change, as currently networkd detaches NetDev objects only
on stop (or invalid .netdev file is loaded).
Preparation for later commits.
|