Yu Watanabe
853188db90
network: use device_unref_and_replace()
2022-07-23 08:17:43 +09:00
Yu Watanabe
c1dd250f18
Merge pull request #23927 from AndreKalb/feature/ipv4-link-local-start-address
...
network: Feature IPv4 link-local start address
2022-07-15 03:21:26 +09:00
Andre Kalb
59c272316c
sd-ipv4ll/networkd: Try to select an IPv4 link-local start address
2022-07-14 14:35:42 +02:00
Yu Watanabe
3be64aa462
network: do not set invalid MAC address for non-ethernet interface
2022-07-14 06:52:07 +09:00
David Tardon
e2341b6bc3
tree-wide: allow ASCII fallback for → in logs
2022-06-28 12:50:43 +02:00
Zbigniew Jędrzejewski-Szmek
c71384a9ee
basic/in-addr-util: add IN_ADDR_PREFIX_TO_STRING
2022-06-06 09:52:52 +02:00
Zbigniew Jędrzejewski-Szmek
8458ca26c1
networkd: reword debug messages
...
"left from <something>" is not correct. "left <something>" would be the
usual form, but "left master interface" is not clear at all. So reword
those messages totally.
Follow-up for 3881fd406b .
2022-05-16 19:50:26 +02:00
Yu Watanabe
3881fd406b
tree-wide: fix typo
2022-05-14 04:58:47 +09:00
Yu Watanabe
b732606950
network: automatically determine timeout of waiting for carrier regain
...
The commit 6706ce2fd2 made
IgnoreCarrierLoss= setting also take timespan, to make users handle
issues like #18738 or #20887 . But still users needed to explicitly set
a timespan.
This makes networkd automatically determine the timeout when the
situations #18738 or #19832 is detected. Unfortunately, still users have
issue #20887 need to specify a value.
Closes #19832 .
2022-03-31 09:29:42 +09:00
Lennart Poettering
ba4e0427e9
time-util: assume CLOCK_BOOTTIME always exists
...
Let's raise our supported baseline a bit: CLOCK_BOOTTIME started to work
with timerfd in kernel 3.15 (i.e. back in 2014), let's require support
for it now.
This will raise our baseline only modestly from 3.13 → 3.15.
2022-03-28 16:55:41 +02:00
Yu Watanabe
cb8453cc51
network: sriov: use request queue to configure SR-IOV virtual functions
2022-03-23 16:48:36 +09:00
Yu Watanabe
de010b0b2e
strv: make iterator in STRV_FOREACH() declaread in the loop
...
This also avoids multiple evaluations in STRV_FOREACH_BACKWARDS()
2022-03-19 08:33:33 +09:00
Yu Watanabe
e26d3d407c
network: make Request object take Manager*
...
Previously, even though all Request object are owned by Manager, they
do not have direct reference to Manager, but through Link or NetDev
object. But, as Link or NetDev can be NULL, we need to conditionalize
how to access Manager from Request with the type of the request.
This makes the way simpler, as now Request object has direct reference
to Manager.
This also rename request_drop() -> request_detach(), as in the previous
commit, the reference counter is introduced, so even if a reference of
a Request object from Manager is dropped, the object may still alive.
The naming `request_drop()` sounds the object will freed by the
function. But it may not. And `request_detach()` suggests the object
will not be managed by Manager any more, and I think it is more
appropreate.
This is just a cleanup, and should not change any behavior.
2022-03-11 14:20:31 +09:00
Yu Watanabe
3a67b8bb0d
network: traffic control: drop meta from QDisc and TClass
...
Since #22248 , it is not necessary to manage QDisc and TClass in same Set
or Hashmap. Let's manage them independently.
2022-02-26 14:58:01 +09:00
Yu Watanabe
b93ce59e51
network: drop unused flag and counter
2022-02-26 05:49:52 +09:00
Yu Watanabe
9aa2585e2f
network: assign corresponding NetDev object to Link
2022-02-26 05:49:52 +09:00
Yu Watanabe
63b5e05ff9
Merge pull request #22545 from yuwata/network-match-kind
...
network, udev: introduce Kind= setting in [Match] section
2022-02-18 01:20:18 +09:00
Yu Watanabe
65022cd7ab
network,udev/net: add Kind= settings in [Match] section
...
This may be useful for writing .network or .link files matching with
virtual interfaces.
Closes #22541 .
2022-02-17 23:10:26 +09:00
Yu Watanabe
e1658632ae
network: call ethtool after link is initialized by udevd
...
Fixes #22538 .
2022-02-17 18:55:43 +09:00
Yu Watanabe
82f52245ba
network: use udev_available() where applicable
2022-02-17 18:55:43 +09:00
Yu Watanabe
81db4f3dd8
network: drop managed configs on reconfigure when KeepConfiguration=yes
...
Otherwise, the managed configs, that is addresses, routes and so on
configured by the previously assigned .network file will not be dropped
on reconfiguring the interface.
2022-02-13 20:01:42 +09:00
Yu Watanabe
ac7e18be76
Merge pull request #22452 from yuwata/network-ipv6ll
...
network: use sysctl to set IPv6LL address generation mode when the interface is already up
2022-02-10 20:38:56 +09:00
Yu Watanabe
6614116458
network: use log_link_warning_errno() or friends where applicable
2022-02-10 17:34:06 +09:00
Yu Watanabe
7d0d832d67
network: monitor current IPv6LL address generation mode
2022-02-10 17:34:06 +09:00
Yu Watanabe
1dec9d816b
network: tc: use request queue to configure traffic control
...
But no dependency resolution is implemented.
2022-02-09 14:43:19 +09:00
Yu Watanabe
828a81a937
network: tc: monitor qdisc and tclass
2022-02-09 14:43:19 +09:00
Yu Watanabe
de2f372ea2
network: move ipv6ll related functions to networkd-ipv6ll.[ch]
2022-02-09 02:14:40 +09:00
Yu Watanabe
fb96111946
network: also use link_reconfigure_impl() to initially assign .network file
2022-02-01 11:38:01 +09:00
Yu Watanabe
bb193d2df2
network: drop tiny wrapper used only one place anymore
2022-02-01 11:37:45 +09:00
Yu Watanabe
3cf58ef316
network: do not free bound_by carrier map on reconfigure
...
Otherwise, if a link enters unmanaged state, then its carrier state does
not propagated to other interfaces.
2022-02-01 11:37:01 +09:00
Yu Watanabe
259c65f36c
network: move ndisc_flush() to link_stop_engines()
...
As it is not related to any static configs.
2022-02-01 11:30:37 +09:00
Yu Watanabe
a0e99a377a
network: remove only managed configs on reconfigure or carrier lost
...
Otherwise, if the carrir of the non-managed interface is lost, the
configs such as addresses or routes on the interface will be removed by
networkd.
2022-02-01 11:30:37 +09:00
Yu Watanabe
ba4c7184b3
network: configure NDisc after MAC address is assigned
2022-01-31 13:10:28 +09:00
Yu Watanabe
e74f1d07b3
network: use hashmap_remove_value() at two more places
2022-01-29 00:30:22 +09:00
Yu Watanabe
1a054a208c
network: fix log messages
2022-01-28 08:34:57 +00:00
Yu Watanabe
61e964df71
netif-util: introduce netif_has_carrier()
2022-01-21 05:02:42 +09:00
Yu Watanabe
df25b9e48c
network: show driver in debug log
2022-01-19 15:00:53 +09:00
Yu Watanabe
b1d9c504d3
network: wait until the DSA master interface becomes up
...
This is for the DSA subsystem, which have several stacked interfaces
on the master interface. To bring up a stacked interface, it is necessary
that the master is already up. See
https://github.com/systemd/systemd/issues/7478#issuecomment-348508263 .
Note this is not necessary for newer kernels which includes
https://github.com/torvalds/linux/commit/9d5ef190e5615a7b63af89f88c4106a5bc127974 .
Fixes #7478 .
2021-12-17 02:00:25 +09:00
Yu Watanabe
71df07760e
network: sd-ipv4ll and sd-ipv4acd only support ethernet interfaces
...
The deny list in link_ipv4ll_enabled() are mostly non-ethernet type,
whose link->iftype are not ARPHRD_ETHER, e.g. ARPHRD_NONE for bareudp,
ARPHRD_WIREGURAD for wireguard, ARPHRD_GRE for gre, and so on.
Only the exception is vrf, which is ARPHRD_ETHER, but seems not to
support ARP.
2021-12-09 15:04:43 +01:00
Yu Watanabe
e096cab2f3
network: wireguard: allow to run NDisc and RADV when IPv6LL address is manually configured
...
Fixes #17380 .
2021-12-09 15:57:47 +09:00
Yu Watanabe
d9910948eb
network: do not reconfigure wireless interface when previously not connected to any APs
...
Follow-up for 6706ce2fd2 .
Fixes #21685 .
2021-12-09 03:04:24 +09:00
Yu Watanabe
bb916f350a
network: call link_check_ready() when all stacked netdevs are created
...
Follow-up for 879377cad5 .
Otherwise, the underlying interface may stuck in configuring state.
2021-12-08 18:40:13 +09:00
Yu Watanabe
e49bad0179
network: dhcp-pd: add 6rd support
...
Closes #19152 .
2021-12-07 20:33:16 +09:00
Yu Watanabe
a27588d4e7
network: dhcp-pd: rename [DHCPv6PrefixDelegation] -> [DHCPPrefixDelegation]
...
This just changes the names of settings, variables, functions, files, and so on.
No functionality is changed.
Preparation for supporting 6rd.
2021-12-07 20:30:30 +09:00
Yu Watanabe
879377cad5
network: do not block configuring addresses by creating stacked netdevs
...
`link_is_ready_to_configure()` is used to judge we can configure
addresses, routes, and etc. And they can be configured independently of
stacked netdevs.
2021-12-07 15:58:25 +09:00
Yu Watanabe
d5ebcf6533
network: split networkd-dhcp6.c
...
This moves DHCPv6 prefix delegation related functions to
networkd-dhcp-prefix-delegation.c.
2021-12-06 19:17:09 +09:00
Yu Watanabe
72e65e6ffd
network: add support to configure IPoIB interfaces
2021-12-05 00:18:58 +09:00
Zbigniew Jędrzejewski-Szmek
0580badc15
networkd: align table
2021-11-29 11:16:07 +01:00
Zbigniew Jędrzejewski-Szmek
19aa7eeb6c
networkd: replace a table with log2 fields by a list
2021-11-29 11:15:58 +01:00
Zbigniew Jędrzejewski-Szmek
66a8eddd6d
Merge pull request #21360 from yuwata/network-json
...
network: json: add more information
2021-11-26 11:04:52 +01:00