Commit Graph
4292 Commits
Author SHA1 Message Date
Yu Watanabe 277521a1ac network: dhcp-pd: fix condition in dhcp_pd_prefix_lost() 2021-12-18 10:09:07 +09:00
Frantisek Sumsal c0a2e0cc24 network: a couple of tweaks suggested by Coccinelle 2021-12-18 08:36:07 +09:00
Yu Watanabe 14dd873b88 network: dhcp4: pass IPServiceType=none to dhcp client
Follow-up for b55093ce88.
2021-12-18 08:35:42 +09:00
Yu Watanabe 21feba0a5c network: dhcp: logs received 6rd option
Addresses https://github.com/systemd/systemd/pull/21625#issuecomment-996109051.
2021-12-17 09:47:11 +00:00
Yu Watanabe d9338387d9 Merge pull request #21786 from keszybz/dirent-work
Make FOREACH_DIRENT and FOREACH_DIRENT_ALL declare the iterator variables
2021-12-17 04:07:35 +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 8a20a8438f network: route: link_drop_foreign_routes() must be called only for managed interfaces 2021-12-17 00:14:30 +09:00
Yu Watanabe f974f17ae7 networkd: check the existence of the route 2021-12-17 00:13:42 +09:00
Yu Watanabe a71c5c44f7 network: address: minor optimization for link_drop_foreign_addresses()
link_address_is_dynamic() is costful in general. Call it only when
KeepConfiguration= is set.

Note, it is not necessary to check link->network in the loop, as we have
the assertion for that in the beginning of the function.
2021-12-16 22:43:18 +09:00
Yu Watanabe 9e86dba94b network: drop IPv6LL addresses manually configured in .network file 2021-12-16 22:43:18 +09:00
Zbigniew Jędrzejewski-Szmek 03f7ddf0bf meson: stop building out convenience libraries by default
The meson default for static_library() are:
build_by_default=true, install=false. We never interact with the
static libraries, and we only care about them as a stepping-stone towards
the installable executables or libraries. Thus let's only build them if
they are a dependency of something else we are building.

While at it, let's drop install:false, since this appears to be the default.

This change would have fixed the issue with lib_import_common failing
to build too: we wouldn't attempt to build it.

In practice this changes very little, because we generally only declare static
libraries where there's something in the default target that will make use of
them. But it seems to be a better pattern to set build_by_default to false.
2021-12-16 11:01:08 +01:00
Zbigniew Jędrzejewski-Szmek 67cb0d4725 Merge pull request #21766 from yuwata/network-generator-name-policy
network-generator: support setting NamePolicy=
2021-12-16 09:34:01 +01:00
Yu Watanabe 2b3a8e2830 network: route: update comment 2021-12-15 20:07:17 +00:00
Yu Watanabe 79463de533 test: add testcases for net.ifname-policy= kernel command line argument 2021-12-16 01:55:37 +09:00
Yu Watanabe a4c9bf2e51 network-generator: support to set NamePolicy= through kernel command line argument
Closes #16296.
2021-12-16 01:55:37 +09:00
Yu Watanabe eb3e86ae2c network-generator: support MAC address longer or shorter than ETH_ALEN 2021-12-16 01:55:37 +09:00
Yu Watanabe 372e8592c6 wait-online: also use address state even when operational state is below degraded
Closes #21706.
2021-12-14 10:32:56 +01:00
Yu Watanabe 2be25d7557 network: tunnel: support to set an address assigned on underlying interface as local address
Closes #18732.
2021-12-12 13:42:45 +09:00
Yu Watanabe 6d1b59cec4 network/netdev: introduce link_get_local_address()
It will be used in later commits.
2021-12-12 13:41:48 +09:00
Yu Watanabe 562729d744 network/netdev: introduce .is_ready_to_create() entry in netdev vtable 2021-12-12 13:41:39 +09:00
Yu Watanabe 54cd4bb7c7 network: make activation error critical 2021-12-12 03:05:15 +09:00
Zbigniew Jędrzejewski-Szmek dc79ae23fb Merge pull request #21664 from yuwata/network-tunnel-cleanups
network: several cleanups for tunnel device
2021-12-11 17:17:40 +01:00
Jonas Jelten 3abdd4bf2e network-generator: support link6 network configuration
this just brings up an interface in order to have IPv6 link local
connectivity.
2021-12-11 11:03:42 +09:00
LaserEyess ea5e55b311 network: rename SetupState to AdministrativeState
This is more consistent with the terminology used elsewhere. In
particular it is consistent with the name of the property exposed over
dbus for the link state.
2021-12-10 18:42:34 +09:00
Yu Watanabe b55093ce88 network: dhcp: make IPServiceType= accept "none" to disable tos in the outgoing packet
Fixes #9874.
2021-12-09 15:06:20 +01: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 01081e2eab Merge pull request #21692 from yuwata/network-wireguard-allow-to-start-ndisc-or-radv
network: wireguard: allow to start ndisc or radv
2021-12-09 19:53:58 +09:00
Zbigniew Jędrzejewski-Szmek 0c62d52fe6 Merge pull request #21691 from yuwata/network-route-prefix-length
network: route: several tiny cleanups
2021-12-09 09:24:36 +01:00
Yu Watanabe d2d602f4b4 network: refuse empty or numeric route table names 2021-12-09 09:06:41 +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 78ef25a5aa network: address: add scope in debugging logs 2021-12-09 15:28:06 +09:00
Yu Watanabe 20228b6d96 network: address: also adjust scope when address is link local address
But again only when Scope= is not explicitly specified.
2021-12-09 15:25:19 +09:00
Yu Watanabe 8f8dc32cc9 network: address: do not adjust user specified scope
This reverts cd1caf30c0.

I cannot remember why such change was made.
At least, the kernel does not refuse to set IPv4 localhost address with
non-host scope, e.g. global.
2021-12-09 15:25:05 +09:00
Yu Watanabe 72fa19239d network: route: mask lower bits of destination or source prefix
Let's gracefully handle user's misconfiguration, e.g.
Destination=192.168.0.1/24
2021-12-09 07:02:59 +09:00
Yu Watanabe e944711fba network: json: add src address when its prefix length is non-zero
This should not change anything. Just for consistency with
route_set_netlink_message(), which sets RTA_SRC attribute when prefix
length is non-zero.
2021-12-09 07:02:29 +09:00
Yu Watanabe 7cf0ed03f2 network: route: show prefix length of the source in debugging logs
Similar fix to b489d6a26e.
2021-12-09 06:52:01 +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 da94e4ddf5 network: wifi: ssid may be NULL
This fixes the following log message:
systemd-networkd[888]: wlan0: nl80211: received new_interface(7) message: iftype=station, ssid=(null)
2021-12-09 02:43:29 +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 8ed68422e1 network: address: read flags from message header when IFA_FLAGS is not supported by kernel
Follow-up for 0828a38605.

Fixes #21670.
2021-12-08 05:40:09 +09:00
Yu Watanabe f14a6e7f48 network: route: tighten variable scope
Follow-up for 5e82a61375.
2021-12-08 05:39:31 +09:00
Yu Watanabe a88f3913cf network: tunnel: unify init functions for tunnels 2021-12-08 01:54:01 +09:00
Yu Watanabe fbe0139f1a network: tunnel: introduce TUNNEL() helper function 2021-12-08 01:54:01 +09:00
Yu Watanabe 9e29133085 network: tunnel: create tunnels with AssignToLoopback=yes independently of .network file 2021-12-08 01:54:01 +09:00
Yu Watanabe e49bad0179 network: dhcp-pd: add 6rd support
Closes #19152.
2021-12-07 20:33:16 +09:00
Yu Watanabe 63dc602570 network: introduce link_remove() 2021-12-07 20:32:02 +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 5ed057b67b Merge pull request #21653 from yuwata/network-dhcp6pd-unreachable-route-cleanups
network: dhcp6pd: cleanups for unreachable route
2021-12-07 20:28:18 +09:00
Yu Watanabe 334f1a99f7 Merge pull request #21655 from yuwata/network-creating-enslaving-netdev-cleanups
network: cleanups for creating or enslaving netdevs
2021-12-07 20:21:47 +09:00
Yu Watanabe ab0c82d9f7 network: dhcp6pd: assign addresses in the delegated prefix instead of a subnet prefix /64 on upstream interface 2021-12-07 19:46:37 +09:00