hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/tools/testing/selftests/wireguard/netns.sh
....@@ -502,10 +502,32 @@
502502 n1 ping -W 1 -c 1 192.168.241.2
503503 [[ $(n2 wg show wg0 endpoints) == "$pub1 10.0.0.3:1" ]]
504504
505
-ip1 link del veth1
506
-ip1 link del veth3
507
-ip1 link del wg0
508
-ip2 link del wg0
505
+ip1 link del dev veth3
506
+ip1 link del dev wg0
507
+ip2 link del dev wg0
508
+
509
+# Make sure persistent keep alives are sent when an adapter comes up
510
+ip1 link add dev wg0 type wireguard
511
+n1 wg set wg0 private-key <(echo "$key1") peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
512
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
513
+[[ $tx_bytes -eq 0 ]]
514
+ip1 link set dev wg0 up
515
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
516
+[[ $tx_bytes -gt 0 ]]
517
+ip1 link del dev wg0
518
+# This should also happen even if the private key is set later
519
+ip1 link add dev wg0 type wireguard
520
+n1 wg set wg0 peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
521
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
522
+[[ $tx_bytes -eq 0 ]]
523
+ip1 link set dev wg0 up
524
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
525
+[[ $tx_bytes -eq 0 ]]
526
+n1 wg set wg0 private-key <(echo "$key1")
527
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
528
+[[ $tx_bytes -gt 0 ]]
529
+ip1 link del dev veth1
530
+ip1 link del dev wg0
509531
510532 # We test that Netlink/IPC is working properly by doing things that usually cause split responses
511533 ip0 link add dev wg0 type wireguard