A connection between the subnets behind the gateways moon and sun is set up. The authentication is based on X.509 certificates and the kernel-libipsec plugin is used for userland IPsec ESP encryption.

Upon the successful establishment of the IPsec tunnel, an updown script automatically inserts iptables-based firewall rules that let pass the traffic tunneled via the ipsec0 tun interface. In order to test both tunnel and firewall, client alice behind gateway moon pings client bob located behind gateway sun.

This scenario is mainly to test how fragmented IPv6 packets are handled (e.g. determining the protocol via IPv6 extension headers). Three pings are required due to PMTUD, the first is rejected by moon, so alice adjusts the MTU. The second gets through, but the response is rejected by sun, so bob will adjust the MTU. The third finally is successful.