/testing/guestbin/swan-prep --nokeys
Initializing NSS database
road #
 # delete the address 192.1.33.209 before re-run. otherwise pluto may choose it.
road #
 ../../guestbin/ip.sh address show dev eth0 2>/dev/null | grep 192.1.33.209 && ../../guestbin/ip.sh address del 192.1.33.209/24 dev eth0
road #
 ../../guestbin/ip-route.sh show scope global 2>/dev/null | grep "192.1.33.254" && ip route del default via 192.1.33.254
road #
 # add 3.209 for re-run
road #
 ../../guestbin/ip.sh address show dev eth0 | grep 192.1.3.209 || ../../guestbin/ip.sh address add 192.1.3.209/24 dev eth0
    inet 192.1.3.209/24 scope global eth0
road #
 # add default gw, it could have been deleted due address changes
road #
 ../../guestbin/ip-route.sh | grep default || ip route add default via 192.1.3.254
default via 192.1.3.254 dev eth0
road #
 # routes and addresses setup for the test
road #
 ipsec start
Redirecting to: [initsystem]
road #
 ../../guestbin/wait-until-pluto-started
road #
 ipsec auto --add road-eastnet
"road-eastnet": added oriented IKEv2 connection
road #
 echo "initdone"
initdone
road #
 ipsec auto --up road-eastnet
"road-eastnet"[1] 192.1.2.23 #1: initiating IKEv2 connection to 192.1.2.23 using UDP
"road-eastnet"[1] 192.1.2.23 #1: sent IKE_SA_INIT request to 192.1.2.23:UDP/500
"road-eastnet"[1] 192.1.2.23 #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 ke=DH19}, initiating IKE_AUTH
"road-eastnet"[1] 192.1.2.23 #1: sent IKE_AUTH request to 192.1.2.23:UDP/500 with shared-key-mac and IPV4_ADDR '192.1.3.209'; Child SA #2 {ESP <0xESPESP} [192.1.3.209/32===0.0.0.0/0]
"road-eastnet"[1] 192.1.2.23 #1: processing IKE_AUTH response from 192.1.2.23:UDP/500 containing SK{N(MOBIKE_SUPPORTED),IDr,AUTH,CP,SA,TSi,TSr}
"road-eastnet"[1] 192.1.2.23 #1: initiator established IKE SA; authenticated peer using authby=secret and IPV4_ADDR '192.1.2.23'
"road-eastnet"[1] 192.1.2.23 #2: received INTERNAL_IP4_ADDRESS 192.0.3.10
"road-eastnet"[1] 192.1.2.23 #2: initiator established Child SA using #1; IPsec tunnel [192.0.3.10/32===0.0.0.0/0] {ESP/ESN=>0xESPESP <0xESPESP xfrm=AES_CBC_256-HMAC_SHA2_256_128 DPD=passive}
road #
 # note this end should be 192.1.3.209
road #
 ipsec _kernel state
src 192.1.3.209 dst 192.1.2.23
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 0, bitmap-length 0
	dir out
src 192.1.2.23 dst 192.1.3.209
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
	dir in
road #
 ipsec _kernel policy
src 0.0.0.0/0 dst 192.0.3.10/32
	dir fwd priority PRIORITY ptype main
	tmpl src 192.1.2.23 dst 192.1.3.209
src 0.0.0.0/0 dst 192.0.3.10/32
	dir in priority PRIORITY ptype main
	tmpl src 192.1.2.23 dst 192.1.3.209
src 192.0.3.10/32 dst 0.0.0.0/0
	dir out priority PRIORITY ptype main
	tmpl src 192.1.3.209 dst 192.1.2.23
road #
 ../../guestbin/ping-once.sh --up -I 192.0.3.10 192.0.2.254
up
road #
 ipsec whack --trafficstatus
#2: "road-eastnet"[1] 192.1.2.23, type=ESP, add_time=1234567890, inBytes=84, outBytes=84, maxBytes=2^63B, id='192.1.2.23', lease=192.0.3.10/32
road #
 sleep 5
road #
 # remove this end ip next one will take over
road #
 ../../guestbin/ip-addr-show.sh
eth0 inet 192.1.3.209/24
lo inet 192.0.3.10/32
road #
 ../../guestbin/ip-route.sh
0.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
default via 192.1.3.254 dev eth0
128.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
192.1.3.0/24 dev eth0 proto kernel scope link src 192.1.3.209
road #
 ../../guestbin/ip-route.sh show scope global | grep 192.1.3.254 && ip route del default via 192.1.3.254
0.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
default via 192.1.3.254 dev eth0
128.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
road #
 ../../guestbin/ip.sh address del 192.1.3.209/24 dev eth0
road #
 # removed address and route
road #
 sleep 5
road #
 ../../guestbin/ip-addr-show.sh
lo inet 192.0.3.10/32
road #
 ../../guestbin/ip-route.sh
road #
 # add new address and route
road #
 ../../guestbin/ip.sh address show dev eth0 | grep 192.1.33.209 || ../../guestbin/ip.sh address add 192.1.33.209/24 dev eth0
road #
 ../../guestbin/ip-route.sh show scope global | grep 192.1.33.254 || ip route add default via 192.1.33.254
road #
 # let libreswan detect change and do a MOBIKE update
road #
 sleep 10
road #
 ../../guestbin/ping-once.sh --up -I 192.0.3.10 192.1.2.23
up
road #
 ../../guestbin/ip-addr-show.sh
eth0 inet 192.1.33.209/24
lo inet 192.0.3.10/32
road #
 ../../guestbin/ip-route.sh
0.0.0.0/1 via 192.1.33.254 dev eth0 src 192.0.3.10
default via 192.1.33.254 dev eth0
128.0.0.0/1 via 192.1.33.254 dev eth0 src 192.0.3.10
192.1.33.0/24 dev eth0 proto kernel scope link src 192.1.33.209
road #
 # MOBIKE ping should work
road #
 # note this end should be 192.1.3.209
road #
 ../../guestbin/ping-once.sh --up -I 192.0.3.10 192.1.2.23
up
road #
 echo done
done
road #
 ipsec whack --trafficstatus
#2: "road-eastnet"[1] 192.1.2.23, type=ESP, add_time=1234567890, inBytes=252, outBytes=252, maxBytes=2^63B, id='192.1.2.23', lease=192.0.3.10/32
road #
 ipsec _kernel state
src 192.1.2.23 dst 192.1.33.209
	lastused YYYY-MM-DD HH:MM:SS
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
	dir in
src 192.1.33.209 dst 192.1.2.23
	lastused YYYY-MM-DD HH:MM:SS
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 0, bitmap-length 0
	dir out
road #
 ipsec _kernel policy
src 0.0.0.0/0 dst 192.0.3.10/32
	dir fwd priority PRIORITY ptype main
	tmpl src 192.1.2.23 dst 192.1.33.209
src 0.0.0.0/0 dst 192.0.3.10/32
	dir in priority PRIORITY ptype main
	tmpl src 192.1.2.23 dst 192.1.33.209
src 192.0.3.10/32 dst 0.0.0.0/0
	dir out priority PRIORITY ptype main
	tmpl src 192.1.33.209 dst 192.1.2.23
road #
 grep "MOBIKE " /tmp/pluto.log | sed -e '/Message ID:/ s/;.*//'
| #1 MOBIKE new local 192.1.33.209:500 remote 192.1.2.23:500 and gateway 192.1.33.254
| Message ID: record'n'send MOBIKE probe request
| ft:   plausible; exchange type matches outstanding exchange INFORMATIONAL (MOBIKE probe)
| #1.st_v2_transition ESTABLISHED_IKE_SA (IKE_AUTH MESSAGE_RESPONSE: Initiator: process IKE_AUTH response) -> ESTABLISHED_IKE_SA (INFORMATIONAL (MOBIKE probe) MESSAGE_RESPONSE: Informational Response) (v2_dispatch() +1385 programs/pluto/ikev2.c)
| processing INFORMATIONAL (MOBIKE probe) response from 192.1.2.23:UDP/500 containing SK{N(NAT_DETECTION_SOURCE_IP),N(NAT_DETECTION_DESTINATION_IP)}
| TODO: process v2N_NAT_DETECTION_SOURCE_IP in MOBIKE response 
| TODO: process v2N_NAT_DETECTION_DESTINATION_IP in MOBIKE response 
"road-eastnet"[1] 192.1.2.23 #1: MOBIKE response: updating IPsec SA
| #2 pst=#1 MOBIKE update local address 192.1.3.209:500 -> 192.1.33.209:500
"road-eastnet"[1] 192.1.2.23 #1:  success MOBIKE update local address 192.1.3.209:500 -> 192.1.33.209:500
| #1 complete_v2_state_transition() status STF_OK transitioning from state ESTABLISHED_IKE_SA to ESTABLISHED_IKE_SA (INFORMATIONAL (MOBIKE probe) MESSAGE_RESPONSE: Informational Response)
| IKE SA in state ESTABLISHED_IKE_SA transitioning to ESTABLISHED_IKE_SA (INFORMATIONAL (MOBIKE probe) MESSAGE_RESPONSE: Informational Response)
road #
 sleep 7
road #
