/testing/guestbin/swan-prep
north #
 ip route get to 192.0.2.254 | grep eth1 && ip route del 192.0.2.0/24 via 192.1.3.254 dev eth1
192.0.2.254 via 192.1.3.254 dev eth1 src 192.1.3.33 uid 0
RTNETLINK answers: No such process
north #
 ip link show ipsec2 || echo "ipsec2 should not exist"
Device "ipsec2" does not exist.
ipsec2 should not exist
north #
 cp north.ipsec2.netdev  /etc/systemd/network/ipsec2.netdev
north #
 ip link show ipsec2
X: ipsec2@lo: <NOARP> mtu 1500 qdisc state DOWN
north #
 echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
north #
 ipsec start
Redirecting to: [initsystem]
north #
 ../../guestbin/wait-until-pluto-started
north #
 ipsec auto --add north
"north": added IKEv2 connection
north #
 echo "initdone"
initdone
north #
 ipsec auto --up north
"north" #1: initiating IKEv2 connection to 192.1.2.23 using UDP
"north" #1: sent IKE_SA_INIT request to 192.1.2.23:UDP/500
"north" #1: processed IKE_SA_INIT response from 192.1.2.23:UDP/500 {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19}, initiating IKE_AUTH
"north" #1: sent IKE_AUTH request to 192.1.2.23:UDP/500
"north" #1: initiator established IKE SA; authenticated peer using authby=secret and ID_FQDN '@east'
"north" #2: initiator established Child SA using #1; IPsec tunnel [192.0.3.0/24===192.0.2.0/24] {ESP/ESN=>0xESPESP <0xESPESP xfrm=AES_GCM_16_256-NONE DPD=passive}
north #
 sleep  2 # why?
north #
 ../../guestbin/tcpdump.sh --start -i ipsec2
tcpdump started
north #
 ../../guestbin/ping-once.sh --up  192.0.2.254
up
north #
 ../../guestbin/ping-once.sh --up  192.0.2.254
up
north #
 ../../guestbin/ping-once.sh --up  192.0.2.254
up
north #
 ../../guestbin/ping-once.sh --up  192.0.2.254
up
north #
 ip -s link show ipsec2
X: ipsec2@lo: <NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN
    RX:  bytes packets errors dropped  missed   mcast           
           336       4      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
           336       4      0       0       0       0 
north #
 ip rule show
0:	from all lookup local
32766:	from all lookup main
32767:	from all lookup default
north #
 ip route
default via 192.1.3.254 dev eth1
192.0.2.0/24 dev ipsec2 scope link
192.0.3.0/24 dev eth0 proto kernel scope link src 192.0.3.254
192.1.3.0/24 dev eth1 proto kernel scope link src 192.1.3.33
north #
 ip route show table 50
Error: ipv4: FIB table does not exist.
Dump terminated
north #
 sleep 20 # wait for tcpdump to collect all events
north #
 ../../guestbin/tcpdump.sh --stop -i ipsec2
reading from file /tmp/north.ikev2-xfrmi-09-systemd-networkd.ipsec2.tcpdump.pcap, link-type RAW (Raw IP)
IP 192.0.3.254 > 192.0.2.254: ICMP echo request, id XXXX, seq 1, length 64
IP 192.0.2.254 > 192.0.3.254: ICMP echo reply, id XXXX, seq 1, length 64
IP 192.0.3.254 > 192.0.2.254: ICMP echo request, id XXXX, seq 1, length 64
IP 192.0.2.254 > 192.0.3.254: ICMP echo reply, id XXXX, seq 1, length 64
IP 192.0.3.254 > 192.0.2.254: ICMP echo request, id XXXX, seq 1, length 64
IP 192.0.2.254 > 192.0.3.254: ICMP echo reply, id XXXX, seq 1, length 64
IP 192.0.3.254 > 192.0.2.254: ICMP echo request, id XXXX, seq 1, length 64
IP 192.0.2.254 > 192.0.3.254: ICMP echo reply, id XXXX, seq 1, length 64
north #
 # rm the test specific systemd-networkd file for next test
north #
 rm /etc/systemd/network/ipsec2.netdev
north #
 echo done
done
north #
 
