Matteo Croce
c78bcda461
test-network: add test for sysctl watch
...
Add a NetworkdSysctlTest class which ensures that networkd correctly
complains when a sysctl file it's handling has been changed externally.
2024-09-11 23:10:36 +02:00
Yu Watanabe
8f28d34246
test-network: add test more cases for assigned units for each interface
2024-09-10 19:30:17 +09:00
Daan De Meyer
2b9ced9072
network: Add support for mq qdisc
2024-09-04 14:56:40 +02:00
Daan De Meyer
3f14557ce0
network: Add support for multiq qdisc
2024-09-04 14:56:37 +02:00
Daan De Meyer
21d9eeb5e6
networkd: Replace existing objects instead of doing nothing if they exist
...
Currently, if for example a traffic control object already exist, networkd
will silently do nothing, even if the settings in the network file for the
traffic control object have changed. Let's instead replace the object if it
already exists so that new settings from the network file are applied as
expected.
Fixes #31226
2024-09-02 14:12:49 +09:00
Yu Watanabe
7876f3d63a
test-network: use the same MTU bytes for veth interfaces
...
Hopefully fixes #34204 .
2024-08-31 11:24:56 +01:00
Yu Watanabe
5dc74c6667
test-network: check one more rule we configure
2024-08-23 23:57:17 +09:00
Yu Watanabe
cd2a1e2df9
test-network: also test routing policy rules are configured as expected after reconfiguration
...
For issue #34068 .
2024-08-22 04:21:02 +09:00
Yu Watanabe
462be8c957
test-network: find routing policy rule by priority
...
We usually configure a test rule with a unique priority. Hence, finding
rule by priority reduces the lines of output, and we can debug easily.
Also print short comments on check. That's helpful when the check is
called several times.
2024-08-22 04:16:12 +09:00
Luca Boccassi
bdf75118ba
Merge pull request #34049 from yuwata/network-routing-policy-rule
...
network: further rework for routing policy rule
2024-08-21 12:46:37 +02:00
Yu Watanabe
085818569b
test-network: add test for ManageForeignRoutingPolicyRules=
2024-08-20 21:02:31 +09:00
Yu Watanabe
49454d9ced
test-network: add tests for Type=table, goto, and nop
2024-08-20 21:02:31 +09:00
Yu Watanabe
936dec4337
test-network: do not pass '[detached]' to 'ip rule del'
...
That indicates the interface name in 'iif' or 'oif' cannot be resolved
when 'ip rule' command is invoked. That's natural when networkd fail to
remove rule but the corresponding interface is already removed.
To make not the residual rules interfere subsequent test cases, let's
ignore the flag and actually remove unwanted rules.
2024-08-20 21:02:31 +09:00
Yu Watanabe
489671d225
network/address-label: allow to configure IPv6 address label in networkd.conf
...
Closes #23159 .
2024-08-20 20:50:56 +09:00
Yu Watanabe
0197fb599a
test-network: make kernel send NA with router flag
...
If the router interface send NA without router flag, client interface will drop
SLAAC addresses. To make the router interface send NA with router flag,
IPv6 forwarding needs to be enabled.
===
client: NDISC: Received Neighbor Advertisement from fe80::1034:56ff:fe78:9a99: Router=no, Solicited=yes, Override=no
client: NDISC: Invoking callback for 'neighbor' event.
client: Removing NDisc route (configured): dst: 2002:da8:1:99::/64, src: n/a, gw: n/a, prefsrc: n/a, table: main(254), priority: 1024, proto: ra, scope: global, type: unicast, flags: n/a
client: Removing NDisc route (configured): dst: n/a, src: n/a, gw: fe80::1034:56ff:fe78:9a99, prefsrc: n/a, table: main(254), priority: 1024, proto: ra, scope: global, type: unicast, flags: n/a
client: Removing NDisc address (configured): 2002:da8:1:99:1034:56ff:fe78:9a00/64 (valid for 23h 59min 58s, preferred for 3h 59min 58s), flags: manage-temporary-address,no-prefixroute, scope: global
===
2024-08-20 09:01:08 +02:00
Yu Watanabe
4bf1a2c383
network/wireguard: introduce [WireGuardPeer] PublicKeyFile=
...
Similar to PresharedKeyFile=, but for public key.
Closes #34012 .
2024-08-17 01:58:02 +09:00
Susant Sahani
3859ef162b
test-network: Add test for BareUDP srcportmin
2024-08-14 23:18:26 +05:30
Yu Watanabe
d133508493
test-network: add test case for UnassignedSubnetPolicy=
2024-08-06 05:24:20 +09:00
jauge-technica
82f2a2f032
Added support for L2 BridgeMDB entries ( #32894 )
...
* Added support for L2 BridgeMDB entries
2024-08-02 16:31:20 +01:00
Yu Watanabe
f320c0777a
test-network: add test case for preferred source with peer
...
For issue #31950 .
2024-07-31 05:36:14 +09:00
Gregor Herburger
1aa74ad048
test: systemd-networkd-tests: add fdb learned tests
...
Add a test for the new bridge netlink attributes IFLA_BR_FDB_N_LEARNED and
IFLA_BR_FDB_MAX_LEARNED.
Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Daan De Meyer
985d5b4bc2
systemd-networkd-tests: Skip tests requiring dhcpd if it is not available
...
dhcpd is not available on CentOS Stream 10
See https://github.com/systemd/systemd/issues/33717
2024-07-15 16:17:33 +02:00
Yu Watanabe
62fb079a3b
test-network: check if static routes not overridden by NDisc routes
2024-06-25 03:17:21 +09:00
Yu Watanabe
4f6d8ab076
test-network: mention that the captive portal option is supported since v2.20
...
The current latest release is v2.19, hence the test is typically skipped now.
2024-06-18 00:20:27 +09:00
Yu Watanabe
8843726ac2
test-network: wait a while for addresses to be dropped
...
Hopefully fixes the following failure:
```
======================================================================
FAIL: test_ipv6_token_prefixstable (__main__.NetworkdRATests.test_ipv6_token_prefixstable)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/systemd/tests/testdata/test-network/systemd-networkd-tests.py", line 5705, in test_ipv6_token_prefixstable
self.assertNotIn('2002:da8:1:0:b47e:7975:fc7a:7d6e/64', output) # the 1st prefixstable
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: '2002:da8:1:0:b47e:7975:fc7a:7d6e/64' unexpectedly found in
'19: veth99@veth-peer: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000\n
inet6 2002:da8:1:0:b47e:7975:fc7a:7d6e/64 scope global tentative dynamic mngtmpaddr noprefixroute \n
valid_lft 2100sec preferred_lft 1000sec\n
inet6 2002:da8:1:0:da5d:e50a:43fd:5d0f/64 scope global dynamic mngtmpaddr noprefixroute \n
valid_lft 2100sec preferred_lft 1000sec\n
inet6 fe80::1034:56ff:fe78:9abc/64 scope link proto kernel_ll \n
valid_lft forever preferred_lft forever'
----------------------------------------------------------------------
```
2024-06-11 13:52:41 +01:00
Yu Watanabe
01420b2db5
network/ndisc: use router lifetime as one for redirect route
...
Previously, we did not set lifetime for redirect route, and redirect
routes were removed only when received a RA from the target address.
Thus, routes that redirect on-link addresses were never removed.
RFCs mention nothing about the lifetime of redirection. But the previous
implementation does not pass the IPv6 Core Conformance Tests.
This makes
- remember all received RAs and manage them by the sender address
(previously, remembered only one with the highest preference),
- then use the router lifetime as one for redirect route,
- remove redirect route also when the router corresponds to the sender
address is dropped (previously, considered only target address).
Note, even if we recieve a new RA, we do not update existing redirect
routes. The lifetime of the redirect route is updated only when a new
Redirect message is received.
Closes #32527 .
2024-06-06 11:19:55 +01:00
Yu Watanabe
dadf2bd4f4
test-network: introduce a .network file to protect existing interfaces
2024-06-03 18:41:26 +01:00
Yu Watanabe
653c38b3eb
test-network: show PID and Invocation ID of networkd
...
Then, we can easily find relevant journal entry on failure.
This is especially useful when the test is running with --no-journal.
2024-06-03 18:41:26 +01:00
Yu Watanabe
6fec598290
test-network: flush stream buffer and journals before/after running test
2024-06-03 18:41:26 +01:00
Yu Watanabe
22fa8f6724
test-network: generate debugging logs of networkd-persistent-storage.service
2024-06-03 18:41:26 +01:00
Yu Watanabe
77356099ce
test-network: add missing sleep()
...
Fixes a bug introduced by 7ef26afca5
.
Fixes #33098 .
2024-06-01 08:25:10 +02:00
Daan De Meyer
6b572e88a3
test-network: Add dirs_exist_ok=True to cp_r()
...
Let's not fail if directories already exist in cp_r().
2024-05-30 12:47:45 +02:00
Yu Watanabe
45af01d311
test-network: update comment about status of kernel regression
2024-05-29 09:07:48 +09:00
Yu Watanabe
acddb3cb79
test-network: tun/tap fd may be owned by tentative worker processes
...
PID1 may invoke a helper process, e.g. sd-close, during the test.
So, processes other than networkd and PID1 may be shown.
```
testtap99: tap pi multi_queue vnet_hdr persist filter
Attached to processes:systemd-network(2852)(sd-close)(2863)systemd(1)
```
Closes #33055 .
2024-05-28 16:39:51 +02:00
Yu Watanabe
f1f1be71fe
test-network: also set custom altternative name for netdevsim interface
...
Due to the bug in kernel 6.9 caused by
8debcf5832
,
the net_id udev builtin does not work for netdevsim interface.
So, eni99np1 cannot be used with kernel 6.9 anymore.
Workaround for #32910 .
2024-05-20 18:33:47 +09:00
Yu Watanabe
12e0d6ed38
test-network: split out setup_netdevsim()
2024-05-20 10:42:01 +09:00
Yu Watanabe
cd6507538a
test-network: use different destination from gateway
...
Previously, one of the test route has the same address in destination
and gateway. Even it is a test case, that's super spurious. Let's use a
different address.
2024-05-17 09:28:49 +09:00
Daan De Meyer
15c1a7855c
test: Allow using TEST_MATCH_TESTCASE with systemd-networkd-tests.py
2024-05-14 22:58:28 +02:00
Yu Watanabe
7ef26afca5
test-network: simplify and unify waiting loop
...
Also,
- drop unused fail_assert arguments,
- use wait_links() and check_networkd_log() in wait_activated().
2024-05-11 02:13:34 +09:00
Yu Watanabe
acc06d8a68
test-network: make link_exists() take multiple arguments
...
This also improves performance of test_delete_links().
2024-05-11 02:13:34 +09:00
Yu Watanabe
d22f2fb912
test-network: check existence of kernel bug
...
This adds checks for the kernel bug caused by
3ddc2231c8
,
it will be fixed by
https://patchwork.kernel.org/project/netdevbpf/patch/20240510072932.2678952-1-edumazet@google.com/
2024-05-10 20:39:56 +09:00
Yu Watanabe
e92d7b7dd9
test-network: introduce --no-journal option
...
This should be useful when the test run as a service, e.g.
running on a mkosi image.
2024-05-10 20:39:30 +09:00
Yu Watanabe
24e37929ed
test-network: do not fail when /etc/protocols does not exist
...
Also this makes several checks more strict.
2024-05-10 15:16:20 +09:00
Yu Watanabe
2a4f9139d9
test-network: do not fail test_macvlan() with old kernel or ip command
2024-05-10 14:36:38 +09:00
Yu Watanabe
e97bb361a0
test-network: do not fail if macvlan module is not available
2024-05-10 14:33:38 +09:00
Daan De Meyer
f2adc1de89
test-network: Make source directory optional
2024-05-01 16:15:20 +02:00
Sebastian Pucilowski
e6c4b5dc52
network: DHCP version logging typos
...
Some DHCP client log messages report "DHCP4" or "DHCP6" instead of
"DHCPv4" or "DHCPv6" as used within the rest of the codebase. Typos
fixed.
2024-04-28 11:47:55 +09:00
Yu Watanabe
0fe4a1c870
test-network: add test for [IPv6SendRA] ReachableTimeSec= and RetransmitSec=
2024-04-22 18:42:56 +09:00
Yu Watanabe
d51377ac42
test-network: add test for global UseDomains= setting
2024-04-20 12:01:53 +09:00
Yu Watanabe
3b4eeccd27
test-network: add test case of RS sent by the same interface
2024-04-18 09:40:23 +09:00