A connection between the gateways moon and sun is set up, which connects alice and moon with a small subnet behind gateway sun. A second tunnel is created between client venus and gateway moon, which connects venus with another small subnet behind, in this case, non-IPsec gateway sun. The authentication is based on X.509 certificates.
In order to test ICMP error forwarding, which venus, moon and sun all enabled, alice and moon ping unreachable IPs behind IPsec gateway sun and behind host bob, respectively. The corresponding ICMP Destination Unreachable messages, with source IP addresses outside the IPsec tunnel traffic selectors are expected to be forwarded by sun and moon. Similar tests are run from venus, in which case the non-IPsec router sun generates ICMP Time Exceeded (TTL expired) and Fragmentation Needed (MTU exceeded) messages with a source IP outside of the traffic selectors. These messages should again get forwarded by moon.