Commit Graph
100 Commits
Author SHA1 Message Date
Yu Watanabe 3f8f021541 Merge pull request #12030 from poettering/condition-memory
add ConditionCPUs= + ConditionMemory=
2019-04-02 08:01:42 +09:00
Yu Watanabe 1589231365 Merge pull request #12168 from poettering/man-fixes
three minor tweaks to the man pages
2019-04-02 07:32:40 +09:00
Yu Watanabe dd09a9ec0f Merge pull request #12160 from yuwata/wait-online-allow-configuring
wait-online: add --any option
2019-04-02 06:10:36 +09:00
Yu Watanabe 7a24df5ecc Merge pull request #12155 from yuwata/network-fix-and-extend-foo-over-udp-support
network: fix and extend Foo over UDP
2019-04-02 06:10:07 +09:00
Yu Watanabe 6872bd4721 Merge pull request #12167 from poettering/timer-parse-tweak
two tweaks for timer expression parsing
2019-04-02 05:29:53 +09:00
Yu Watanabe 03db80b2d1 test-network: add tests for --any option of wait-online 2019-04-02 03:38:22 +09:00
Yu Watanabe c7f070bd4a test-network: fix timeout argument for wait_online() 2019-04-02 03:38:22 +09:00
Yu Watanabe 2f9859baa8 wait-online: add --any option
When this option is specified, wait-online exits with success even
when several interfaces are in configuring state.

Closes #9714.
2019-04-02 03:37:50 +09:00
Yu Watanabe 4b6a6d1e37 test-network: add tests for FooOverUDP tunnels 2019-04-02 03:29:46 +09:00
Yu Watanabe 0b145817ff man: update FooOverUDP= 2019-04-02 03:29:46 +09:00
Yu Watanabe 7df5c6ba90 network: make FooOverUDP.Protocol= support name of ipproto 2019-04-02 03:29:41 +09:00
Yu Watanabe 881c74bd64 network: use asynchronous call for creating FOU tunnels
Otherwise, multiple FOU tunnels cannot be created correctly.
2019-04-02 03:08:49 +09:00
Yu Watanabe 3abf950fdb network: do not ignore FooOverUDP.Encapsulation= setting
Previously the setting is ignored and always FOU_ENCAP_GUE is sent.
2019-04-02 03:07:42 +09:00
Yu Watanabe a27a0ad641 network: merge ipip_init() and sit_init() 2019-04-02 03:07:08 +09:00
Yu Watanabe 4799d932b5 network: add FooOverUDP support for SIT and GRE tunnels 2019-04-02 03:07:08 +09:00
Yu Watanabe 38f4bb4428 test-network: add more tests for SerializeTunneledPackets=, Key=, and friends 2019-04-02 03:07:08 +09:00
Yu Watanabe 546c203d83 test: set longer StartLimitIntervalSec= and fewer StartLimitBurst=
Some test environment may be in heavy load. In that case, rate limit
never hit, and the test fails...
2019-04-01 19:13:36 +02:00
Yu Watanabe 76e62a4d22 udev: move udev_ctrl_cleanup() into manager_free() 2019-04-01 15:20:03 +02:00
Yu Watanabe bfa7f57cc3 po: update ja.po 2019-04-01 12:16:21 +02:00
Yu Watanabe 753e0a2446 test-network: add test for NetDev.Name= conflict 2019-04-01 10:30:31 +09:00
Yu Watanabe 4b4a6c9b41 udev: shorten code a bit 2019-04-01 10:30:31 +09:00
Yu Watanabe c6e77d7b22 network: add '=' to config key names in log
Also, long lines are wrapped.
2019-04-01 10:30:31 +09:00
Yu Watanabe b519908cac network: do not abort execution when NetDev.Name= conflicts
This also changes that .netdev files are loaded in ascending order.
Otherwise, when NetDev.ifname= setting conflicts with other .netdev file,
then .netdev file with large prefix number wins.
2019-04-01 10:30:31 +09:00
Yu Watanabe 5a0bd90b82 test-network: add test for drop-in [WireGuardPeer] section
This also merges the two wireguard tests, and use wait_online()
to speed up the test.
2019-04-01 10:30:30 +09:00
Yu Watanabe 18268197fa bootspec: fix memleak caused by setting invalid cleanup function 2019-03-31 23:31:29 +09:00
Yu Watanabe 7226337574 bootspec: add missing free() in boot_config_free() 2019-03-31 23:30:30 +09:00
Yu Watanabe b07b19dff8 Merge pull request #12147 from yuwata/network-gre-key-12144
network: make GRE and GRETAP support Key= or friends
2019-03-31 22:12:34 +09:00
Yu Watanabe 6730a1f343 test-network: test stacked erspan tunnels 2019-03-30 21:17:53 +09:00
Yu Watanabe c65c01c41a man: update Tunnel.Key= and friends 2019-03-30 21:17:48 +09:00
Yu Watanabe a8b9a65c50 network: make GRE and GRETAP support Key=, InputKey=, OutputKey=, and SerializeTunneledPackets=
This also merge netdev_gre_fill_message_create() and netdev_erspan_fill_message_create().
2019-03-30 21:16:03 +09:00
Yu Watanabe 9282f75bf4 network: make erspan netdev can be specified in Network.Tunnel= 2019-03-30 03:52:25 +09:00
Yu Watanabe 1a9bc3d8f6 network: do not continue when appending data to netlink message fails 2019-03-30 03:52:21 +09:00
Yu Watanabe 0ef830cf54 test-network: merge tests for [Route] section 2019-03-30 02:27:22 +09:00
Yu Watanabe a15ff207df test-network: use wait_online() in test_sysctl_disable_ipv6() 2019-03-30 02:27:22 +09:00
Yu Watanabe ba1e0d0612 test-network: use wait_online() in test_sysctl()
This also disables IPv6AcceptRA= to speed up the test.
2019-03-30 02:27:22 +09:00
Yu Watanabe 2dcfcc08d9 test-network: use wait_online() in test_link_local_addressing()
This also disables IPv6AcceptRA= to speed up the test.
2019-03-30 02:27:22 +09:00
Yu Watanabe d06f30fc73 test-network: fix addr_gen_mode
If stable_secret is set, then networkd sets addr_gen_mode 2.
2019-03-30 02:27:22 +09:00
Yu Watanabe c2990ec39a test-network: move tests related to bonding 2019-03-30 02:27:22 +09:00
Yu Watanabe b810272594 test-network: merge tests about static addresses
And use wait_online()
2019-03-30 02:27:22 +09:00
Yu Watanabe 5aa58329d8 test-network: add wait_online() helper function 2019-03-30 02:27:16 +09:00
Yu Watanabe 4d6cd572a7 fuzz: add testcases for the bug in condition_free_list_type() 2019-03-24 00:35:39 +09:00
Yu Watanabe 1beabe08d6 network,udev: explicitly declare 'conditions' is a list 2019-03-24 00:35:39 +09:00
Yu Watanabe 7bb55ed099 util: fix condition_free_list_type()
This fixes a bug introduced by c4f58deab5.

Closes oss-fuzz#13878, oss-fuzz#13882, oss-fuzz#13884, oss-fuzz#13886, and
oss-fuzz#13888.
2019-03-24 00:34:33 +09:00
Yu Watanabe 3f4c9bc04c Merge pull request #12066 from yuwata/fix-network-tunnel-12041
network: fix netdev_tunnel_verify()
2019-03-22 05:57:38 +09:00
Yu Watanabe 8643885f58 man: mention that Tunnel.Local= and Tunnel.Remote= can take 'any' 2019-03-22 03:31:55 +09:00
Yu Watanabe d653a35919 man: do not wrap line in the table 2019-03-22 03:31:55 +09:00
Yu Watanabe 6a97a86489 test-network: add more tests for tunneling devices 2019-03-22 03:31:50 +09:00
Yu Watanabe b239288f72 Merge pull request #11931 from yuwata/condition-test-list
split static condition tests from net_match_config()
2019-03-22 02:30:57 +09:00
Yu Watanabe bb9683e096 network: fix netdev_tunnel_verify()
Fixes #12041.
2019-03-22 01:47:38 +09:00
Yu Watanabe d689bbcaa3 man: mention that conditions in [Match] section support negation 2019-03-21 23:38:51 +09:00
Yu Watanabe 1cdca39752 man: use literal tag 2019-03-21 23:38:51 +09:00
Yu Watanabe c4f58deab5 network,udev: split static condition tests from net_match_config() 2019-03-21 23:37:39 +09:00
Yu Watanabe 2bd0da7a05 network: drop unnecessary strdup() 2019-03-21 23:37:39 +09:00
Yu Watanabe f9f88198ce core/unit: use condition_test_list() 2019-03-21 23:37:39 +09:00
Yu Watanabe 828fa6108b condition: introduce condition_test_list() 2019-03-21 23:37:39 +09:00
Yu Watanabe f6d6d53237 log: expose log_object_internalv() 2019-03-21 23:37:39 +09:00
Yu Watanabe 50969cff60 network: clear previous assignment
Prompted by oss-fuzz#13719.
2019-03-16 00:12:25 +09:00
Yu Watanabe c7a67ba5eb fuzz: add testcase for oss-fuzz#13691 2019-03-15 23:54:30 +09:00
Yu Watanabe 1d0c1146ea nspawn: fix memleak
Fixes oss-fuzz#13691.
2019-03-15 23:53:05 +09:00
Yu Watanabe 5ba40bb2cc fuzz: add a testcase for oss-fuzz#13719 2019-03-15 23:47:41 +09:00
Yu Watanabe 5f07d640ca network: clear previous assignment
Fixes oss-fuzz#13719.
2019-03-15 23:44:51 +09:00
Yu Watanabe 58a6c57b75 bash-completion: add systemd-id128 support 2019-03-15 18:54:53 +09:00
Yu Watanabe 8efb042e0c sd-id128: split the logic obtaining invocation ID from sd_id128_get_invocation() 2019-03-15 18:53:23 +09:00
Yu Watanabe 9363e2f499 id128: no command accepts additional arguments 2019-03-15 18:53:23 +09:00
Yu Watanabe cff83db917 test-network: add tests for L2TP 2019-03-14 11:12:32 +09:00
Yu Watanabe 3a27af62b5 network: wait for L2TP tunnel to be created before creating sessions
And if failed to create L2TP tunnel, then do not try to create sessions.
2019-03-14 10:57:41 +09:00
Yu Watanabe 0aa2fe6f9b netlink: support NLMSG_ERROR message in genl
This resolves the following log message after L2TP tunnel or session is
created:
```
sd-netlink: ignored message with unknown type: 2
```
2019-03-14 10:57:41 +09:00
Yu Watanabe d053d08a37 network: automatically pick an address on link when L2TP.Local= is not specified
This makes L2TP.Local= support an empty string, 'auto', 'static', and
'dynamic'. When one of the values are specified, a local address is
automatically picked from the local interface of the tunnel.
2019-03-14 10:57:41 +09:00
Yu Watanabe 7033af49df network: introduce new netdev create type NETDEV_CREATE_AFTER_CONFIGURED
It will be used to support L2TP tunnel in later commits.
2019-03-14 10:57:41 +09:00
Yu Watanabe 859e9c0487 network: introduce netdev_get_create_type() helper function 2019-03-14 10:57:41 +09:00
Yu Watanabe 2b6db913e2 network: do not call link_joined() when not all netdevs are configured
If some of stacked netdevs are already configured, then link_joined()
is called before netdevs are fully configured.
2019-03-14 10:57:41 +09:00
Yu Watanabe 2c65512ee7 cryptsetup: add same-cpu-crypt and submit-from-crypt-cpus options
Closes #11946.
2019-03-13 09:48:50 +01:00
Yu Watanabe 07e1ffe4ae wait-online: use log_link_debug() or friends 2019-03-13 14:29:03 +09:00
Yu Watanabe e67ae9f5e6 network: move log_link_debug() or friends to log-link.h 2019-03-13 14:29:03 +09:00
Yu Watanabe 8d6082e4dd man: update wait-online and RequiredForOnline= setting 2019-03-13 14:29:03 +09:00
Yu Watanabe f023184e6d wait-online: support $REQUIRED_OPER_STATE_FOR_ONLINE= in state file
This also make wait-online optionally take operstate in -i option,
and adds '--operstate' option to wait-online which also takes operstate.

Also, this contains huge refactoring for wait-online.
2019-03-13 14:29:03 +09:00
Yu Watanabe 22eab27caa sd-network: add sd_network_link_get_required_operstate_for_online()
It reads $REQUIRED_OPER_STATE_FOR_ONLINE in serialized link data.
2019-03-13 14:29:03 +09:00
Yu Watanabe 4ac77d63e9 network: make RequiredForOnline= also take operational state
This will be used by systemd-networkd-wait-online.
2019-03-13 14:29:03 +09:00
Yu Watanabe f9974167e4 hashmap: add hashmap_free_free_keyp and friend 2019-03-13 14:29:03 +09:00
Yu Watanabe c9cc038343 network: introduce 'degraded-carrier' operstate to order all states
Previously, 'degraded' state is ambiguous for bonding or bridge master:
1. one or more slave interfaces does not have carrier,
2. no link local address is assigned to the master,
3. combination of the above two.

This makes the above case 1 and 3 are in the new 'degraded-carrier'
state, and makes 'degraded' state as all slaves are active but no
link local address on master.
2019-03-13 14:29:00 +09:00
Yu Watanabe 2cd6b9326c network: move LinkOperationalState and relevant functions to network-util.[ch] 2019-03-13 14:28:38 +09:00
Yu Watanabe 4ddbf08cfd test-network: wait more and fix wrong operational state
Closes #11977.
2019-03-13 14:27:39 +09:00
Yu Watanabe 39bcff3bca test-network: add test for WireGuard.PrivateKeyFile= 2019-03-13 12:02:08 +09:00
Yu Watanabe 76df77794a wireguard: add PrivateKeyFile= option
Closes #11878.
2019-03-13 12:02:03 +09:00
Yu Watanabe 9cc9021aed wireguard: check whether PrivateKey= and PublicKey= are set 2019-03-13 11:59:18 +09:00
Yu Watanabe fedcb4c3eb wireguard: drop unused arguments and rename parse_wireguard_key() 2019-03-13 11:59:18 +09:00
Yu Watanabe 583eb170f0 wireguard: do not log wireguard key
It may be PrivateKey=.
2019-03-13 11:59:18 +09:00
Yu Watanabe 85c987a82d wireguard: reuse sd_event_source object 2019-03-13 11:59:18 +09:00
Yu Watanabe f1368a333e wireguard: use NetworkConfigSection to manage [WireGuardPeer] sections
This also contains huge refactoring of wireguard support.
2019-03-13 11:59:18 +09:00
Yu Watanabe bbb5aebe3e test-network: add tests for invalid Address sections 2019-03-13 11:59:18 +09:00
Yu Watanabe 96db641250 test: make network_verify() public and use it in test-networkd-conf 2019-03-13 11:59:18 +09:00
Yu Watanabe fcbf4cb727 network: drop sections contain invalid settings in network_verify()
If e.g., an [Address] section has an invalid setting, then
previously assigned settings in the section is freed, and
only later settings are stored. That may cause partially broken
section stored in Network object.

This makes if an invalid setting is found, then set 'invalid' flag
instead of freeing it. And invalid sections are dropped later by
network_verify().
2019-03-13 11:59:18 +09:00
Yu Watanabe 9560e5b323 network: make all xxx_new_static() static
These functions are called from only config parsers, and the parsers are
in the same files. So, let's make them static.
2019-03-13 11:59:18 +09:00
Yu Watanabe fa7cd7117f network: add IPv4LL route right after .network file is parsed
Previously, the route is added when the .network config is assigned
to a Link. So, if multiple links match the .network file, the route
entry becomes duplicated in the corresponding Network object.
2019-03-13 11:59:18 +09:00
Yu Watanabe 48315d3dca network: move NetworkConfigSection and related functions to networkd-util.[ch] 2019-03-13 11:59:18 +09:00
Yu Watanabe 95dba43542 network: use ltype to determine netdev kind in config_parse_stacked_netdev() 2019-03-13 11:59:18 +09:00
Yu Watanabe 7e46b29bd3 test: add a testcase for ProtectHome=tmpfs vs ProtectSystem=strict 2019-03-13 11:53:59 +09:00
Yu Watanabe 5beb8688e0 core/namespace: logs mount mode when the entry is dropped 2019-03-13 11:53:22 +09:00
Yu Watanabe 1e05071d27 core/namespace: introduce new mount mode READWRITE_IMPLICIT
ProtectSystem=strict or ProtectKernelTunable=yes create implicit
read-write mounts, but they are not overridable by TemporaryFileSystem=.
This makes such implicit read-write mounts use the new mount mode.
So, they can be override by TemproraryFileSystem= now.
A typical usecase is that ProtectSystem=strict and ProtectHome=tmpfs.

Fixes #11276.
2019-03-13 11:51:09 +09:00
Yu Watanabe ca66b69d5b bash-completion: also suggest units in reloading or activating
Closes #11942.
2019-03-12 11:25:26 +01:00