Yu Watanabe
21cf8e9e6d
network: dhcp6pd: first check prefixes, then calculate lifetime
2021-12-06 21:35:53 +09:00
Yu Watanabe
542d04950e
network: dhcp6pd: shorten code a bit
2021-12-06 21:35:53 +09:00
Yu Watanabe
c3cd535132
network: dhcp6pd: skip to assign prefixes to a downstream link if it is not ready
2021-12-06 21:35:53 +09:00
Yu Watanabe
5014e66019
network: dhcp6pd: move dhcp6_pd_assign_prefixes()
...
Preparation for the later commits.
2021-12-06 21:35:53 +09:00
Yu Watanabe
4c004e2a71
network: dhcp6pd: also allow to only assign prefix route for delegated prefix to upstream interface
2021-12-06 21:35:53 +09:00
Yu Watanabe
da10d2d584
network: dhcp6pd: drop unreachable routes when lease lost
2021-12-06 21:30:57 +09:00
Yu Watanabe
95eb38c8d0
network: route: make route_cancel_request() take Link*
...
As the Route object may be managed by Manager.
2021-12-06 21:30:57 +09:00
Yu Watanabe
1d44187ce6
network: dhcp6pd: also drop prefix assigned to upstream interface
...
But do not drop prefixes from downstream which request another uplink.
2021-12-06 21:30:26 +09:00
Yu Watanabe
86a4b84aa9
Merge pull request #21632 from yuwata/network-dhcp6pd-fix-typo-and-split
...
network: dhcp6pd: fix typo and split file
2021-12-06 21:24:47 +09:00
Yu Watanabe
ab106a609b
network: eui64 address is supported only ethernet or infiniband
...
So, this makes prefixstable mode will be used for other interface types.
2021-12-06 21:07:12 +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
ba466f0d4e
network: dhcp6pd: fix copy-and-paste error
2021-12-06 19:17:09 +09:00
Yu Watanabe
cf477495d6
network: route: handle null address with non-zero prefixlen correctly
...
Previously, even if a link has a route to e.g. ::/96, default gateway
via ::1.2.3.4 cannot be configured.
2021-12-06 19:16:17 +09:00
Yu Watanabe
b489d6a26e
network: route: logs null address with non-zero prefixlen correctly
2021-12-06 19:16:17 +09:00
Frantisek Sumsal
c73f413d8d
tree-wide: check for NULLs in more places
...
Fixes issues pointed out by the `cpp/inconsistent-null-check` LGTM
query.
2021-12-06 08:50:53 +09:00
Yu Watanabe
c3747f90b1
network: set MTU after IPoIB configs are applied
...
MTU is updated when IB mode is changed.
2021-12-05 00:19:01 +09:00
Yu Watanabe
72e65e6ffd
network: add support to configure IPoIB interfaces
2021-12-05 00:18:58 +09:00
Yu Watanabe
b90d0f83b2
network/netdev: add support to create IPoIB subinterface
2021-12-04 15:06:58 +09:00
Yu Watanabe
a8ee2b8e1f
network/netdev: generate persistent MAC address when creating netdev interface
...
Preparation for later commits.
2021-12-04 15:05:32 +09:00
Yu Watanabe
8feb9fa4f8
Merge pull request #21584 from yuwata/network-wireguard-cleanups
...
network: cleanups for wireguard
2021-12-02 15:53:57 +09:00
Yu Watanabe
4a410adae6
Revert "network: address: drop deprecated temporary address"
...
This reverts commit 528da64a0c .
The commit is a bad way to fix #19838 , and introduces #21593 .
Fixes #21593 .
2021-12-02 15:41:45 +09:00
Yu Watanabe
38ef464e41
network/wireguard: search valid address of the endpoint from all struct addrinfo entries
2021-12-02 08:39:37 +09:00
Yu Watanabe
8bf7e3b61c
network/wireguard: cleanups for resolving endpoints
...
This makes
- drop peers_with_unresolved_endpoint and peers_with_failed_endpoint,
- drop destroy handler for sd_resolve_query, and manage each query by peer,
- add random fluctuation to the timeout for retry handler,
- retry timer event source is now managed by peer,
- use sd_event_source_disable_unref().
2021-12-02 08:39:32 +09:00
Yu Watanabe
4a897d29f1
network/wireguard: do not resolve Endpoint= if an IP address is specified
...
Also verify the domain name and port.
2021-12-02 08:36:22 +09:00
Yu Watanabe
1a4ca0e2f3
network: dhcp6-pd: exclude all explicitly specified subnet IDs when searching free IDs
...
When the upstream link gained a lease, then several downstream links may
not appear yet. Previously, the explicitly specified subnet ID for a
downstream link which appears later may be already assigned to an
interface which does not request specific subnet ID.
To avoid such situation, this makes all specified IDs are excluded when
searching free IDs.
As a side effect, we can avoid the second call of
dhcp6_pd_distribute_prefix().
2021-12-01 20:35:03 +09:00
Yu Watanabe
a74229c58e
network: dhcp6-pd: introduce dhcp6_pd_is_uplink()
...
This also merges dhcp6_pd_resolve_uplink() with dhcp6_pd_find_uplink()
2021-12-01 20:35:03 +09:00
Yu Watanabe
926fc8ee63
network: dhcp6: make UplinkInterface=:self take effect only when DHCPv6PrefixDelegation= is enabled
2021-12-01 20:35:03 +09:00
Yu Watanabe
f6032ff3e0
network: radv: use the uplink interface used in DHCPv6-PD
2021-12-01 20:35:03 +09:00
Yu Watanabe
e908434458
network: wireguard: automatically configure routes to addresses specified in AllowedIPs=
...
Closes #14176 .
2021-12-01 04:00:11 +09:00
Yu Watanabe
28870a9d2e
network: route: expose route_hash_ops
2021-12-01 03:56:00 +09:00
Yu Watanabe
9e11bd58fb
network/wireguard: drop unnecessary .in6 specifier
...
This should not change any behavior, as the size of the IPv4 address is
smaller than IPv6.
2021-12-01 03:56:00 +09:00
Yu Watanabe
5e82a61375
network: route: read RTA_TABLE attribute to get route table
...
If the table of a route is larger than 255, then the value is stored in
RTA_TABLE attribute. But the attribute is not supported by old kernels.
So, first try to read the value from RTA_TABLE attribute, then fallback
to the value in the message header.
2021-12-01 03:53:09 +09:00
Yu Watanabe
af31670340
network: route: use typesafe function
2021-12-01 03:52:11 +09:00
Yu Watanabe
528da64a0c
network: address: drop deprecated temporary address
...
Fixes #19838 .
2021-11-30 18:17:23 +01:00
Yu Watanabe
a6f44d610c
tree-wide: fix typo
2021-11-30 12:30:07 +00:00
Yu Watanabe
d27e9b0f83
network: json: add missing initialization
...
Fixes CID#1466513.
2021-11-30 10:03:51 +09:00
Zbigniew Jędrzejewski-Szmek
8e560cd090
Merge pull request #21532 from yuwata/network-json-more
...
network: add more json entries
2021-11-29 21:26:56 +01:00
Zbigniew Jędrzejewski-Szmek
4b658ff651
Merge pull request #21531 from keszybz/log2-tables
...
Optimize log2 tables
2021-11-29 13:58:49 +01:00
Zbigniew Jędrzejewski-Szmek
8a7da94082
networkd: replace a table with log2 fields by a list
2021-11-29 11:16:15 +01: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
7396e01484
networkd: replace a table with log2 fields by a list
2021-11-29 11:15:50 +01:00
Zbigniew Jędrzejewski-Szmek
67b65e1104
networkd: replace a table with log2 fields by a list
...
The code looks a bit more complicated, but the compiler generates a simpler and
more compact text.
An additional advantage is that if any of the fields were repeating or not
power-of-two, the compiler would warn about an overridden entry in the table.
2021-11-29 11:15:31 +01:00
Yu Watanabe
5b8bdd20c6
network/netdev: generate persistent MAC address for batadv and bridge
...
This mostly reverts 489f01f806 and
deb2cfa4c6 .
As now MACAddress=none is supported. So, users can still disable MAC
address assignment.
2021-11-28 12:04:55 +09:00
Yu Watanabe
aaa5ca57ae
network/netdev: make MACAddress= take 'none' to suppress generating persistent hardware address
...
This is mostly equivalent to .link file's MACAddressPolicy=none.
2021-11-28 12:04:55 +09:00
Yu Watanabe
5dcc5b1a11
network/netdev: move config_parse_netdev_kind() at the end
2021-11-28 12:04:55 +09:00
Luca Boccassi
cab35e9672
Merge pull request #21535 from yuwata/network-netdev-verify-mac
...
network/netdev: verify MAC address
2021-11-27 13:48:56 +00:00
Yu Watanabe
70b0652697
network: route: route->link may be NULL
...
Fixes #21544 .
2021-11-27 13:48:02 +00:00
Yu Watanabe
007899f43e
network/netdev: verify specified MAC address
...
Drop multicast bit and set local bit of the specified MAC address.
This also makes failure in generating persistent MAC address
non-critical.
2021-11-27 06:39:04 +09:00
Yu Watanabe
5e20e1e3e3
network/netdev: use "struct hw_addr_data" to store MAC address
2021-11-27 06:39:04 +09:00