Yu Watanabe
d349f5026e
network: drop struct IPv6ProxyNDPAddress
...
Its only important value is in6_addr. So, let's just use struct in6_addr
and drop IPv6ProxyNDPAddress.
2020-10-07 02:44:42 +09:00
Yu Watanabe
a8c82f90e7
network: move functions
2020-10-07 02:44:42 +09:00
Yu Watanabe
dbf6319691
network: cleanup networkd-mdb.h
2020-10-07 02:44:42 +09:00
Yu Watanabe
ee4522ce86
network: introduce network_verify_mdb_entries()
2020-10-07 02:44:42 +09:00
Yu Watanabe
03c9738e1d
network: drop list of bridge MDB entries
...
[BridgeMDB] sections are managed by LIST and Hashmap, and they contins
the completely same information. Let's drop the list.
2020-10-07 02:44:42 +09:00
Yu Watanabe
8c06da1cd1
network: move mdb_entry_free() and friends
2020-10-07 02:44:42 +09:00
Yu Watanabe
ee446d57b8
network: cleanup networkd-fdb.h
2020-10-07 02:44:42 +09:00
Yu Watanabe
75ffb011b0
network: drop unused fdb_ntf_flags_to_string()
2020-10-07 02:44:42 +09:00
Yu Watanabe
e6ad630d77
network: introduce network_verify_fdb_entries()
2020-10-07 02:44:42 +09:00
Yu Watanabe
5bb4542b0c
network: move link_set_bridge_fdb()
2020-10-07 02:44:42 +09:00
Yu Watanabe
62ed9442bf
network: drop list of bridge FDB entries
...
[BridgeFDB] sections are managed by both LIST and Hashmap, and they
contains the completely same information. Let's drop the list.
2020-10-07 02:44:42 +09:00
Yu Watanabe
df3a18f87f
network: make fdb_entry_free() return NULL
2020-10-07 02:44:42 +09:00
Yu Watanabe
fb486c9082
network: cleanup networkd-address-label.h
2020-10-07 02:44:42 +09:00
Yu Watanabe
fe2bc17ca7
network: introduce link_set_address_labels()
2020-10-07 02:44:42 +09:00
Yu Watanabe
ab316813ea
network: introduce network_verify_address_labels()
2020-10-07 02:44:42 +09:00
Yu Watanabe
cae418a306
network: make address_label_free() return NULL
2020-10-07 02:44:42 +09:00
Yu Watanabe
d6a2a0f9a7
network: drop list of static address labels
...
[IPv6AddressLabel] sections are managed by both LIST and Hashmap.
Let's drop list, as they store the completely same information.
2020-10-07 02:44:42 +09:00
Yu Watanabe
64753f354d
network: make neighbor_free() return NULL
2020-10-07 02:44:42 +09:00
Yu Watanabe
78ada14f25
network: introduce network_verify_neighbors()
2020-10-07 02:44:42 +09:00
Yu Watanabe
5904833659
network: introduce neighbor_drop_{,foreign_}neighbors()
2020-10-07 02:44:42 +09:00
Yu Watanabe
1939ebeb89
network: cleanup headers in networkd-neighbor.[ch]
2020-10-07 02:44:42 +09:00
Yu Watanabe
9be0b3abc2
network: drop unused arguments
2020-10-07 02:44:42 +09:00
Yu Watanabe
0d6e933eac
network: make several functions static
2020-10-07 02:44:42 +09:00
Yu Watanabe
19f8cffce1
network: make neighbor_{add,get}() takes Neighbor object
2020-10-07 02:44:42 +09:00
Yu Watanabe
b0ba6938df
network: drop list of static neighbors
...
[Neighbor] sections are managed by both LIST and Hashmap.
Let's drop list, as they store the completely same information.
2020-10-07 02:44:42 +09:00
Yu Watanabe
eab052d2b3
network: move manager_rtnl_process_neighbor() to networkd-neighbor.c
2020-10-07 02:44:42 +09:00
Yu Watanabe
58f1fe9af9
network: move link_request_set_neighbors() to networkd-neighbor.c
2020-10-07 02:44:42 +09:00
Yu Watanabe
fceee7cc7e
network: move functions
2020-10-07 02:44:42 +09:00
Yu Watanabe
0992f9fb0e
network: introduce network_verify_nexthops()
2020-10-07 02:44:42 +09:00
Yu Watanabe
f96f4ebc85
network: use netlink_message_read_in_addr_union()
2020-10-07 02:44:42 +09:00
Yu Watanabe
47a277f18b
network: use log_link_xxx() at more places
2020-10-07 02:39:51 +09:00
Yu Watanabe
8c11221879
network: drop NextHop::oif and always use link ifindex
2020-10-07 02:39:51 +09:00
Yu Watanabe
cf5a228f7b
network: slightly shorten nexthop_compare_func()
2020-10-07 02:39:51 +09:00
Yu Watanabe
75156ccbdc
network: cleanup headers included in networkd-nexthop.h
2020-10-07 02:39:51 +09:00
Yu Watanabe
b82663ddee
network: drop list of static nexthops
...
[NextHop] sections are managed by both LIST and Hashmap.
Let's drop list, as they store the completely same information.
2020-10-07 02:39:51 +09:00
Yu Watanabe
8d7b137a82
network: drop unused nexthop_remove() and nexthop_equal()
2020-10-07 02:39:51 +09:00
Yu Watanabe
4736035aaa
network: make several functions static
2020-10-07 02:39:51 +09:00
Yu Watanabe
454c87b5d5
network: move manager_rtnl_process_nexthop() to networkd-nexthop.c
2020-10-07 02:39:51 +09:00
Yu Watanabe
c133770a6b
network: move link_request_set_nexthop() to networkd-nexthop.c
2020-10-07 02:39:51 +09:00
Yu Watanabe
446aaaf35f
network: introduce helper function to enumerate information using netlink
2020-10-07 02:39:13 +09:00
Yu Watanabe
d08ed5a1fd
network: specify all known attributes when removing routing policy rules
...
Otherwise, routing_policy_rule_remove() may removes unintended rule.
2020-10-07 02:36:29 +09:00
Yu Watanabe
5a82104bf3
network: add missing "else"
2020-10-07 02:36:29 +09:00
Yu Watanabe
6f3337277f
network: drop unused element
2020-10-07 02:36:29 +09:00
Yu Watanabe
50a3682f1e
network: introduce network_verify_routing_policy_rules()
2020-10-07 02:36:29 +09:00
Yu Watanabe
f1828a222a
network: make routing_policy_rule_new() static
2020-10-07 02:36:29 +09:00
Yu Watanabe
51a0dc4a15
network: move manager_rtnl_process_rule() to networkd-routing-policy-rule.[ch]
2020-10-07 02:36:29 +09:00
Yu Watanabe
8dfed23d92
network: use typesafe macro netlink_add_match()
2020-10-07 02:36:29 +09:00
Yu Watanabe
0d7d377b80
network: move log_message_warning_errno() to networkd-util.h
2020-10-07 02:36:29 +09:00
Yu Watanabe
ca183bf8fd
network: drop list of static routing policy rules
...
[RoutingPolicyRule] sections are managed by both LIST and Hashmap.
Let's drop list.
2020-10-07 02:36:29 +09:00
Yu Watanabe
02e9f4e536
network: do not duplicate rule if Family=both
2020-10-07 02:36:29 +09:00
Yu Watanabe
b0815fa499
network: make routing_policy_rule_free() returns NULL
2020-10-07 02:36:29 +09:00
Yu Watanabe
816ef8d1da
network: add more logs on loading routing policy rules failure
...
And reduce scope of variables.
2020-10-07 02:36:24 +09:00
Yu Watanabe
eb3445ce93
network: reduce scope of variables
2020-10-06 00:51:01 +09:00
Yu Watanabe
ddc9df3183
network: drop routing_policy_rule_make_local()
...
Its error handling was bogus...
2020-10-06 00:51:01 +09:00
Yu Watanabe
7532b88808
network: make several functions static
2020-10-06 00:51:01 +09:00
Yu Watanabe
c0ec474675
network: move link_request_set_routing_policy()
2020-10-06 00:51:01 +09:00
Yu Watanabe
fef160b5ab
network: limit InitialCongestionWindow= and InitialAdvertisedReceiveWindow= value
...
Strivtly speaking, this breaks backward compatibility. But setting
too large value into them, then their networking easily breaks.
Note that typically 100 for them is event too large. So, ommiting the
values equal or higher than 1024, and dropping support of k, M, and G
suffixes is OK for normal appropriate use cases.
See discussion in #16643 .
2020-09-29 13:55:17 +09:00
Zbigniew Jędrzejewski-Szmek
05d418fed9
Merge pull request #17085 from yuwata/network-configure-mdb-entries-on-bridge-master
...
network: allow to configure mdb entries on bridge master
2020-09-18 13:06:44 +02:00
Yu Watanabe
1034044260
Merge pull request #15050 from ssahani/fq-pie
...
network: tc: add support for FQ-PIE packet scheduler
2020-09-18 03:50:02 +09:00
Yu Watanabe
dc0e90d2e0
Merge pull request #16929 from ssahani/network-bare-udp
...
network: introduce Bare UDP Tunnelling
2020-09-17 20:34:15 +09:00
Yu Watanabe
1797240104
network: old kernel may not support to configure bridge MDB entries on bridge master
2020-09-17 18:15:22 +09:00
Yu Watanabe
a55100e66c
network: allow to configure bridge MDB entries on bridge master
2020-09-17 18:12:40 +09:00
Yu Watanabe
fdeecf7bba
network: tc: refuse to set 0 for FlowQueuePIE.PacketLimit=
2020-09-17 17:16:49 +09:00
Susant Sahani
8f6b6d7091
network: TC - introduce fq pie
...
see https://patchwork.ozlabs.org/patch/1233253/
2020-09-17 17:12:07 +09:00
Susant Sahani
a9b8450bd4
network: Allow vxlan to be created without .network file
2020-09-17 15:49:36 +09:00
Yu Watanabe
b0486c732a
network: refuse to configure IPv4LL for bareudp netdev
2020-09-17 15:18:18 +09:00
Susant Sahani
e6980c7270
network: Introduce bare UDP
2020-09-17 15:05:58 +09:00
Yu Watanabe
8e412d64ce
network: add debug message for configuring MDB entries
2020-09-17 00:04:22 +09:00
Yu Watanabe
1f24158971
network: configure bridge MDB entries after bridge has carrier
2020-09-17 00:04:22 +09:00
Yu Watanabe
46205ffcdf
network: drop [BridgeMDB] entries if Bridge= is not set
2020-09-17 00:04:22 +09:00
Yu Watanabe
03ae449015
network: check MulticastGroupAddress= is neither a local multicast address nor all nodes address
2020-09-17 00:04:22 +09:00
Yu Watanabe
5fb16c7c77
network: drop unnecessary headers
2020-09-17 00:04:22 +09:00
Yu Watanabe
6c9ebb7a90
network: move functions in networkd-mdb.c
2020-09-17 00:04:22 +09:00
Yu Watanabe
41bed67613
Merge pull request #16998 from zonque/networkd/mdb
...
network: add support for setting MDB entries
2020-09-15 16:30:39 +09:00
Frantisek Sumsal
69e3234db7
tree-wide: fix typos found by codespell
...
Reported by Fossies.org
2020-09-14 15:32:37 +02:00
Yu Watanabe
85b6a8110d
network: do not add prefix to RA if radv is not configured
...
Fixes #17017 .
2020-09-11 19:28:46 +02:00
Daniel Mack
3db468ea87
network: add support for setting MDB entries
...
Multicast snooping enabled bridges maintain a database for multicast
port memberships to decide which mulicast packet is supposed to
egress on which port.
This patch teaches networkd to add entries to this database manually
by adding `[BridgeMDB]` sections to `.network` configuration files.
2020-09-10 18:55:15 +02:00
Lennart Poettering
6ae05c9b14
Merge pull request #16947 from keszybz/socket-parsing-rework
...
Socket parsing rework
2020-09-10 16:47:37 +02:00
Zbigniew Jędrzejewski-Szmek
f29d38b7d4
Merge pull request #17003 from yuwata/conf-parser-downgrade-log-level
...
tree-wide: downgrade log level in conf-parsers
2020-09-10 15:43:29 +02:00
Yu Watanabe
17d2b2e4ef
network: replace FRA_IFNAME -> FRA_IIFNAME
...
No functional change, as FRA_IFNAME is an alias of FRA_IIFNAME.
2020-09-10 18:57:07 +09:00
Yu Watanabe
2102d33cfb
network: also process RTM_NEWRULE or RTM_DELRULE message which does not contain src and dst addresses
...
Fixes #16784 .
2020-09-10 18:57:07 +09:00
Yu Watanabe
bd1000b4a0
network: fix the default mask for FirewallMark=
...
And always send FRA_FWMASK if FirewallMark= is set.
C.f. b8964ed9fa
Partially fixes #16784 .
2020-09-10 18:56:18 +09:00
Yu Watanabe
c2d6fcb147
network: do not assign return value if the parse_fwmark_fwmask() fails
...
This also removes redundant logs, and makes input string not copied if
it does not contain '/'.
2020-09-10 18:19:03 +09:00
Yu Watanabe
d85b0d69f1
network: add debug log for removing routing policy rules
2020-09-10 18:19:03 +09:00
Yu Watanabe
755dbda355
network: also logs priority of routing policy rules
2020-09-10 18:18:59 +09:00
Yu Watanabe
b6c7c4a87b
network: update log message for rtnl messages
2020-09-10 18:14:24 +09:00
Yu Watanabe
e3489e96b3
network: slightly update log message
2020-09-10 13:59:04 +09:00
Yu Watanabe
2ca601d8cb
network do not ignore OOM error in config_parse_macsec_key_id()
2020-09-10 13:59:04 +09:00
Yu Watanabe
696c0832e2
network: use _cleanup_ attribute at one more place
2020-09-10 13:59:04 +09:00
Yu Watanabe
a8a50f4fb7
network: do not ignore OOM error in wireguard_decode_key_and_warn()
2020-09-10 13:59:04 +09:00
Yu Watanabe
02241e4339
network: unify config_parse_wireguard_public_key() and config_parse_wireguard_preshared_key()
2020-09-10 13:57:39 +09:00
Zbigniew Jędrzejewski-Szmek
2313524aa0
basic: convert ifname_valid_full() to take flags and allow numeric interfaces
2020-09-10 00:46:44 +02:00
Lennart Poettering
e5f1b999eb
network: don't fail on various config parse errors
...
We typically don't fail on config parse errors (to maximize compat),
let's not do this in these cases either.
2020-09-09 23:43:16 +02:00
Lennart Poettering
40eb1b0ae8
tree-wide: prefer AF_xyz over PF_xyz
...
This really doesn't matter given that AF_xyz and PF_xyz are equivalent
in all ways, but we almost always use AF_xyz, hence stick to it
universally and convert the remaining PF_ to AF_
2020-09-09 23:42:55 +02:00
Lennart Poettering
244d9793ee
Merge pull request #16984 from yuwata/make-log_xxx_error-void
...
Make log_xxx_error() or friends return void
2020-09-09 16:28:51 +02:00
Yu Watanabe
a725efb08b
network: increase receive buffer size for device monitor
...
If networkd creates huge amount of netdevs, then the buffer of device
monitor becomes easily flowed.
Hopefully fixes #16865 .
2020-09-09 06:39:05 +09:00
Yu Watanabe
d31f33e3c9
network: do not start device monitor if /sys is read-only
...
Follow-up for bf331d8717
.
2020-09-09 06:39:05 +09:00
Yu Watanabe
e13af7bdb6
network: honor the buffer size specified in networkd.socket
2020-09-09 06:39:05 +09:00
Yu Watanabe
8c63924c8d
network: ignore error on increasing netlink receive buffer size
2020-09-09 06:39:05 +09:00
Yu Watanabe
d157714b68
network: make log_link_error() or friends return void
2020-09-09 02:34:38 +09:00
Lennart Poettering
26c65933ba
Merge pull request #16978 from keszybz/two-variable-reduction-patches
...
Two variable reduction patches
2020-09-08 17:13:21 +02:00
Zbigniew Jędrzejewski-Szmek
a9aa8deb29
Merge pull request #16618 from yuwata/network-ipv6token-prefixstable
...
network: make prefixstable mode of IPv6Token= can be applied any received prefixes
2020-09-08 13:36:27 +02:00
Zbigniew Jędrzejewski-Szmek
90e74a66e6
tree-wide: define iterator inside of the macro
2020-09-08 12:14:05 +02:00
Yu Watanabe
b27caa34f6
network: make prefixstable mode of IPv6Token= can be applied to any received prefixes
...
Closes #4625 .
2020-09-08 14:32:33 +09:00
Yu Watanabe
50550722e3
network: fix NDisc handling for the case when multiple routers exist
...
69203fba70
does not consider the case that
multiple routers exist, and causes #16719 .
Fixes #16719 .
2020-09-08 02:30:04 +09:00
Yu Watanabe
501b09dbf2
network: expose route_{hash,compare}_func()
2020-09-08 02:30:04 +09:00
Yu Watanabe
99a2878457
network: expose address_{hash,compare}_func()
2020-09-08 02:30:04 +09:00
Lennart Poettering
e825610499
Merge pull request #16880 from yuwata/network-dhcp4-cleanups
...
network: DHCPv4 cleanups
2020-09-04 15:54:27 +02:00
Zbigniew Jędrzejewski-Szmek
459c41b9e2
Merge pull request #16881 from yuwata/network-routing-policy-rule-cleanups
...
network: routing policy rule cleanups
2020-09-04 12:57:20 +02:00
Yu Watanabe
2200c3cf56
network: fixes gateway assignment through DHCPv4
...
This fixes the following issue:
- If a DHCP lease does not contains router option, then routes with
`Gateway=_dhcp` setting introduce unexpected results.
This also makes several failure paths critical. And adjust warnings when
classless routes are provided.
2020-09-04 11:12:03 +02:00
Yu Watanabe
c45fdad66d
network: configure DHCP routes after DHCP address is ready
2020-09-04 09:05:45 +09:00
Yu Watanabe
687b3bc6f4
network: dhcp4: reset counter only when the lease address is new
2020-09-04 09:05:45 +09:00
Yu Watanabe
5acf54a063
network: dhcp4: stop IPv4ACD before assigning new address
2020-09-04 09:05:34 +09:00
Yu Watanabe
dce1cd4188
network: voidify return value of sd_ipv4acd_stop()
2020-09-04 09:04:43 +09:00
Yu Watanabe
5c72a6d5d3
network: logs about unknown key
2020-09-04 08:48:08 +09:00
Yu Watanabe
f405179d65
network: honor already specified family when parsing from= or to= in serialized rule
2020-09-04 08:48:08 +09:00
Yu Watanabe
9d6282d120
network: do not reallocate buffer
2020-09-04 08:48:04 +09:00
Yu Watanabe
d0ac05613b
network: serialize InvertRule= in [RoutingPolicyRule]
2020-09-04 08:47:22 +09:00
Yu Watanabe
1680b11df4
network: add whitespace after family= and priority= in serialized routing policy rule
...
This also makes priority= serialized only when its value is non-zero.
2020-09-04 08:44:19 +09:00
Yu Watanabe
3c94b20dd3
network: downgrade error level when the error is ignored
2020-09-04 08:44:14 +09:00
Yu Watanabe
7e60a37d04
network: move routing_policy_rule_read_full_file()
2020-09-04 08:42:01 +09:00
fangxiuning
6d95e7d9b2
tree-wide: drop pointless zero initialization ( #16900 )
2020-08-30 06:21:20 +09:00
Lennart Poettering
cd17bb6e71
networkd: consider any uevent other than "remove" sufficient for the network device to be ready
2020-08-28 17:45:05 +02:00
Yu Watanabe
876dc2b014
network: dhcp6: logs only new address
...
Closes #16731 .
2020-08-27 21:24:07 +02:00
Yu Watanabe
df696b1413
networkctl: label command does not take any argument
2020-08-27 16:32:13 +09:00
Zbigniew Jędrzejewski-Szmek
d521e6993d
Merge pull request #16824 from keszybz/no-such-unit-error
...
Add sd_bus_error_has_names() and use it to catch BUS_ERROR_NO_SUCH_UNIT
2020-08-25 09:16:25 +02:00
Zbigniew Jędrzejewski-Szmek
955a632971
tree-wide: use sd_bus_error_has_names() in more places
2020-08-24 19:48:26 +02:00
Clemens Gruber
f594b5feab
network: can: Fix CAN initialization
...
When introducing CAN-FD support, the .can_fd_mode was not initalized
with -1 and due to cm.mask containing the CAN_CTRLMODE_FD bit, it was
not ignored when FDMode was not configured but instead disabled.
The same thing happened when listen-only mode support was introduced.
On chips that do not support these features, this lead to an error:
can0: Failed to configure CAN link: Operation not supported
Fix it by intializing all the CAN related tristate variables
(.can_listen_only, .can_fd_mode and .can_non_iso) to -1.
2020-08-24 09:33:25 +02:00
Yu Watanabe
46b875fb80
network: do not fail if UseMTU=yes on DHCP lease lost
...
This fixes a bug introduced by 6906794dd1
.
Fixes #16768 .
2020-08-18 20:33:58 +02:00
Yu Watanabe
9b966cee43
network: wait for previous address removal before configuring static addresses
...
Fixes #16696 .
2020-08-08 12:41:03 +09:00
Yu Watanabe
b6766fb114
network: drop unnecessary bracket
2020-08-08 12:31:59 +09:00
Yu Watanabe
fb282d4e25
network: only process non-error message
2020-08-08 12:31:12 +09:00
Zbigniew Jędrzejewski-Szmek
d06bd2e785
Merge pull request #16596 from poettering/event-time-rel
...
Conflict in src/libsystemd-network/test-ndisc-rs.c fixed manually.
2020-08-04 16:07:03 +02:00
Yu Watanabe
2ac7eec3b5
network: fix use of uninitialized value
...
Follow-up for 6e537f62d7
.
2020-07-30 07:38:18 +02:00
Michael Marley
b209cff2ad
network: Fix "Unknown section 'DHCPv6PrefixDelegation'." message
...
Follow-up for 99e015e28c
2020-07-30 10:34:47 +09:00
Yu Watanabe
99e015e28c
network: rename settings about DHCPv6 Prefix Delegation
...
Closes #16602 .
2020-07-29 05:50:08 +09:00
Yu Watanabe
61c0ef4ff3
network: make RADVPrefixDelegation enum bitfield
...
This should not change any behavior.
2020-07-29 05:09:42 +09:00
Yu Watanabe
ea121d8f25
network: update address infomation even if link is in failed or linger state
...
As the link may be reconfigured later. If we do not update the address
information, then its setup state or operstate may not be updated
correctly.
2020-07-29 02:05:05 +09:00
Yu Watanabe
e55265184b
network: do not assume static addresses are configured
...
link_request_set_routes() is also called when a dynamic address is
configured. At that time, static addresses may not be configured yet.
Fixes #16546 .
2020-07-29 02:05:05 +09:00
Yu Watanabe
15797d6a2b
network: check at least one dynamic address is assigned when DHCP is enabled
2020-07-29 02:05:05 +09:00
Yu Watanabe
1633c45731
network: dhcp6: drop addresses and delegated prefixes on client stop
...
Previously, we did not drop addresses and delegated prefixes when
DHCP6 client is stopped.
Fixes #15455 .
Fixes #13564 .
2020-07-29 02:05:05 +09:00
Yu Watanabe
1c09d84e42
network: rename ipv4ll_address -> ipv4ll_address_configured
2020-07-29 02:05:05 +09:00
Yu Watanabe
b0b9776656
network: ndisc: also remove old DNSSL or RDNSS records after an SLAAC address is ready
2020-07-29 02:05:05 +09:00
Yu Watanabe
69203fba70
network: ndisc: remove old addresses and routes after at least one SLAAC address becomes ready
...
Otherwise, the old addresses will exist in deperecated state.
2020-07-29 02:05:05 +09:00
Yu Watanabe
6e537f62d7
network: dhcp4: release old lease after the new address become ready
...
Previously, on DHCPv4 address renewal, the old address may be removed
while the new address is not ready yet.
This also simplifies the logic of removing address and routes.
2020-07-29 02:05:05 +09:00
Yu Watanabe
80b0e86084
network: make address/route_configure optionally return created Address/Route object
2020-07-29 02:05:05 +09:00
Yu Watanabe
8eec0b9da5
network: set key destructor in several hash_ops
2020-07-29 02:05:05 +09:00
Yu Watanabe
5f58af25e6
network: make link_check_ready() return earlier if the link is not in 'configuring' state
2020-07-29 02:05:05 +09:00
Yu Watanabe
3336e946da
network: ndisc: do not set configured flags when addresses or routes are not assigned yet
...
Just for safety.
2020-07-29 02:05:05 +09:00
Yu Watanabe
5d8c3ec1e9
network: make link enter failed state if address_update() failed
2020-07-29 02:05:05 +09:00
Yu Watanabe
97f000744f
network: introduce callback called when an address becomes ready
2020-07-29 02:05:00 +09:00
Yu Watanabe
3606ca659e
network: add debug log for configuring address
2020-07-29 01:50:54 +09:00
Lennart Poettering
39cf0351c5
tree-wide: make use of new relative time events in sd-event.h
2020-07-28 11:24:55 +02:00
Christian Göttsche
c8f12abc73
Fix clang-11 issues
...
Tested with clang 11.0.0-++20200715043845+0e377e253c1-1~exp1 on Debian sid
../src/network/test-networkd-conf.c:104:56: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
~~~~~~~~~~~~^~~
../src/network/test-networkd-conf.c:104:56: note: use array indexing to silence this warning
test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
^
& [ ]
1 warning generated.
../src/test/test-clock.c:52:17: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
ftruncate(fileno(f), 0);
^~~~~~~~~ ~~~~~~~~~~~~
1 warning generated.
(gdb) run
Starting program: systemd/build/test-alloc-util
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
x1: 0x7fffffffd2d0
x2: 0x7fffffffdac0
y: 0x7fffffffd2cc
z: 0x7fffffffd2c0
cleanup2(0x7fffffffd2cc)
cleanup3(0x7fffffffd2c0)
cleanup1(0x7fffffffdac0)
cleanup1(0x7fffffffd2d0)
*** buffer overflow detected ***: terminated
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
set = {__val = {0, 18446744073709551615, 0, 0, 0, 0, 140737348658240, 140737348659520, 0, 0, 0, 0, 0, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x22ff0, sa_sigaction = 0x22ff0}, sa_mask = {__val = {140737349888603, 4217127, 4217127, 4217127, 4217127, 4217383, 0, 0, 0, 0, 143329, 143344, 140737351162752, 8959, 18446744073709551328, 4289072}},
sa_flags = -138460788, sa_restorer = 0xffffffffffffffff}
sigs = {__val = {32, 0 <repeats 15 times>}}
ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7fffffffd280, reg_save_area = 0x7fffffffd210}}
fd = <optimized out>
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
No locals.
No locals.
No locals.
No locals.
No locals.
l = 0
No locals.
p1 = 0x405500 "\223Nd\n\351\301mA\214\262A\247\306b\276\317\327\353\346k\035\024\273{\276&!kλ\233\217\t\207\276\327\347\351\355\307R\276\063{\235w=\237E\357\277KL\245\374\245\066M\201+\333\064\272\332g>1<@"
p2 = <optimized out>
i = <optimized out>
No locals.
2020-07-26 11:32:06 +02:00
Yu Watanabe
6f5d73aba6
network: compare with peer address if it is specified
...
Follow-ups for dfef713f3e
.
2020-07-23 16:37:56 +02:00
Yu Watanabe
2c62149509
network: ndisc: ignore duplicated IPv6Token=
2020-07-22 20:26:11 +09:00
Yu Watanabe
92ee90af47
network: ndisc: do not store duplicated data in Set
...
The Address objects in the set generated by ndisc_router_generate_addresses()
have the equivalent prefixlen, flags, prefered lifetime.
This commit makes ndisc_router_generate_addresses() return Set of
in6_addr.
2020-07-22 20:26:05 +09:00
Yu Watanabe
1b14222124
network: make bus methods sync link state file
2020-07-22 19:55:15 +09:00
Yu Watanabe
c2a6595014
network: introduce link_save_and_clean()
2020-07-22 19:55:14 +09:00
Yu Watanabe
f281fc1e95
tree-wide: use siphash24_compress_string() where it is applicable
2020-07-22 19:55:14 +09:00
Zbigniew Jędrzejewski-Szmek
2859bb932b
Merge pull request #16530 from yuwata/udev-fix-race-in-renaming-network-interface
...
udev: fix race in renaming network interface
2020-07-22 11:50:09 +02:00
Lennart Poettering
49f16281c9
tree-wide: use READ_FULL_FILE_CONNECT_SOCKET at various places
...
Let's use the new flag wherever we read key material/passphrases/hashes
off disk, so that people can plug in their own IPC service as backend if
they like, easily.
(My main goal was actually to support this for crypttab key files — i.e.
that you can specify AF_UNIX sockets as third column in crypttab — but
that's harder to implement, since the keys are read via libcryptsetup's
API, not ours.)
2020-07-21 10:32:01 +02:00
Lennart Poettering
f294470262
fileio: add explicit flag for generating world executable warning when reading file
2020-07-21 09:56:44 +02:00
Zbigniew Jędrzejewski-Szmek
2e3e2750bb
Merge pull request #16519 from yuwata/networkctl-altnames
...
networkctl: tiny cleanups about alternative names
2020-07-21 09:10:00 +02:00
Yu Watanabe
1cdea1a2f7
network: update one log message
2020-07-21 11:55:28 +09:00
Yu Watanabe
7695e2cbbe
network, resolve: use bus_message_read_ifindex() or friends
2020-07-21 04:08:22 +09:00
Yu Watanabe
10d4620467
util: introduce bus_mesage_read_dns_servers()
2020-07-21 04:08:22 +09:00
Yu Watanabe
4e11ddfdd3
network: add DBus method to set DNS server with port number and SNI
2020-07-21 04:08:22 +09:00
Yu Watanabe
87d6489776
network: save DNS servers specified by DBus interface
...
Also, filter out DNS servers which do not match link ifindex.
2020-07-21 04:08:22 +09:00
Yu Watanabe
6458176514
network: do not save DNS= entries not match link ifindex
2020-07-21 04:08:22 +09:00
Yu Watanabe
e77bd3fdff
network: support port number and SNI in [Network] DNS=
2020-07-21 04:08:22 +09:00
Yu Watanabe
807667f7ac
network: stop already running engines before updating MAC address
...
In NetworkdBridgeTests.test_bridge_configure_without_carrier of
systemd-networkd-tests.py
```
bridge99: MAC address: 2e:3a:ec:4d:d3:62
Assertion 'sd_ipv4ll_is_running(ll) == 0' failed at src/libsystemd-network/sd-ipv4ll.c:110, function int sd_ipv4ll_set_mac(sd_ipv4ll *, const struct ether_addr *)(). Ignoring.
bridge99: Could not update MAC address in IPv4LL client: Device or resource busy
```
2020-07-20 15:29:55 +09:00
Yu Watanabe
48c5398951
networkctl: do not ignore -EOPNOTSUPP when reading netlink message
...
If the kernel does not support alternative interface names, then
sd_netlink_message_read_strv() should just return -ENODATA.
2020-07-20 15:24:40 +09:00
Yu Watanabe
ae5b779252
networkctl: sort alternative names
2020-07-20 15:24:40 +09:00
Zbigniew Jędrzejewski-Szmek
d735e4f2d6
Merge pull request #16505 from yuwata/network-manage-foreign-routes-cleanups
...
network: do not enumerate foreign routes when ManageForeignRoutes=no, and tiny cleanups
2020-07-20 07:48:57 +02:00
YmrDtnJu
a9c9b18a95
networkd: Use NLM_F_ACK on the netlink message to add a neighbor.
...
sd_netlink_message_set_flags is called without NLM_F_ACK which results in
a timeout while networkd is waiting for an ACK that the kernel will never send.
2020-07-20 11:30:35 +09:00
Yu Watanabe
a8c10331b4
network: replace NDISC -> NDisc in log messages
2020-07-18 05:51:41 +09:00
Yu Watanabe
5eec0a0810
network: introduce address_exists() helper function
2020-07-18 05:51:41 +09:00
Yu Watanabe
d15818f227
network: update debug log when foreign routes are received with ManageForeignRoutes=no
2020-07-18 05:51:41 +09:00
Yu Watanabe
5ff1ef31f2
network: do not enumerate routes if ManageForeignRoutes=no
2020-07-18 05:51:32 +09:00
Yu Watanabe
13e8a49a58
network: ndisc: any failures in processing event make the link in failed state
...
Also adjust log levels.
2020-07-17 01:18:44 +09:00
Yu Watanabe
c97785168b
network: radv: clean up conf parsers
2020-07-17 01:16:38 +09:00
Yu Watanabe
d96edb2c6e
network: downgrade log level in conf parsers
2020-07-17 00:40:09 +09:00
Yu Watanabe
f766d9af38
network: dhcp4: add two warnings
2020-07-16 10:54:16 +09:00
Yu Watanabe
153cf04139
network: dhcp4: fix another race with SendDecline=yes
...
If the SD_IPV4ACD_EVENT_BIND event happens before all routes are
assigned, then the link stuck in configuring state.
2020-07-16 10:54:08 +09:00
Yu Watanabe
75be72d139
network: dhcp4: also release old lease in dhcp_lease_lost()
...
The lease lost may happen during renewing address. If it happens,
assertion hits in dhcp4_release_old_lease().
2020-07-16 10:51:46 +09:00
Christian Göttsche
aeba8dd523
network: fix typo
2020-07-16 08:45:42 +09:00
Yu Watanabe
43bf28741f
network: drop doubled white space
2020-07-15 17:15:25 +09:00
Yu Watanabe
93b0b88c3a
network: free address when it is removed
2020-07-15 17:15:25 +09:00
Yu Watanabe
6906794dd1
network: dhcp4: do not assign new address before old one is not removed
...
If DHCP4 client lost a lease, and then soon acquire new lease, then
the removal of the old address may not be completed. If that happens,
and the new and old addresses are the same, then the new address will be
considered as a foreign address. Such a situation can occur when the
DHCP4 server is restarted.
This makes networkd wait for the removal of the old address when a new
lease is acquired.
This also makes the link in configuring state when renewing address.
2020-07-15 17:15:25 +09:00
Yu Watanabe
5d976f5f64
network: do not call link_check_ready() in link_request_set_routing_policy_rule()
...
It will be called in link_request_set_nexthop() or serveral handlers().
2020-07-15 17:15:25 +09:00
Yu Watanabe
0c816fcc7b
network: make link_request_set_nexthop() called from link_request_set_routes() or route_handler()
...
Then we can drop static_routes_ready() flag.
2020-07-15 17:15:25 +09:00
Yu Watanabe
659ad3a0af
network: do not make link in configured state when no address is assigned
...
When DHCP6 and RA are enabled, and RA does not provide any addresses,
then link may become configured state even if no address is assigned,
due to the time-lag between RA completion and DHCP reply.
This makes if DHCP is explicitly enabled, then link must have at least
one valid address to be in the configured state.
2020-07-15 17:15:25 +09:00
Yu Watanabe
d98c546dac
network: ndisc: split ndisc_configured flag into for addresses and routes
2020-07-15 17:15:25 +09:00
Yu Watanabe
01c344bdd4
network: ndisc: do not ignore remaining addresses
...
Follow-up for c24c83dc67
.
2020-07-15 17:15:25 +09:00
Yu Watanabe
39373cb984
network: add debugging log why link is not in configured state yet
2020-07-15 17:15:16 +09:00
Yu Watanabe
eb01a2dfb1
network: make link_request_set_nexthop() static
2020-07-15 17:14:30 +09:00
Yu Watanabe
a4623f84ed
network: add a debugging log
2020-07-15 17:14:30 +09:00
Yu Watanabe
feb596b5c3
network: include error code in the log message
2020-07-15 17:14:30 +09:00
Yu Watanabe
2a877f4560
network: set dhcp6_xxx_configured flag after routes/addresses are assigned
2020-07-15 17:14:30 +09:00