Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 747f0d19 authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

Test that the system doesn't accept non-/96 NAT64 prefixes.

Other system components (clatd, netd's DNS64 synthesis) don't
support non-/96 prefixes, so such prefixes must be ignored.
CTS already checks that LinkProperties#setNat64Prefix throws
IllegalArgumentException when passed an invalid prefix length.
Here we test that nothing happens (e.g., the network stack
doesn't crash) when that exception is thrown.

Bug: 153694684
Test: new unit tests
Change-Id: I8a57e171d472532b930c8d5c33e11a99024cf128
parent dc627959
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -1535,6 +1535,13 @@ public class IpClientIntegrationTest {
        expectAlarmCancelled(inOrder, pref64Alarm);
        expectAlarmCancelled(inOrder, pref64Alarm);
        expectNat64PrefixUpdate(inOrder, null);
        expectNat64PrefixUpdate(inOrder, null);


        // Announce a non-/96 prefix and expect it to be ignored.
        IpPrefix invalidPrefix = new IpPrefix("64:ff9b::/64");
        pref64 = new StructNdOptPref64(invalidPrefix, 1200).toByteBuffer();
        ra = buildRaPacket(pio, rdnss, pref64);
        mPacketReader.sendResponse(ra);
        expectNoNat64PrefixUpdate(inOrder, invalidPrefix);

        // Re-announce the prefix.
        // Re-announce the prefix.
        pref64 = new StructNdOptPref64(prefix, 600).toByteBuffer();
        pref64 = new StructNdOptPref64(prefix, 600).toByteBuffer();
        ra = buildRaPacket(pio, rdnss, pref64);
        ra = buildRaPacket(pio, rdnss, pref64);