pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27189 )

Change subject: ggsn: Rework tests validating wrong ipv6 saddr on IPv4v6 APNs
......................................................................

ggsn: Rework tests validating wrong ipv6 saddr on IPv4v6 APNs

The existing test TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6
was wrong, because the global address was being finally encoded as a
link local address by f_gen_icmpv6_router_solicitation().
Let's rewrite the test and add a new one for source link local addresses
simlar to the ones used to test IPv6-only APNs.

Change-Id: I3d0790104abea7acb4fa5e33109fe93cc51d94ea
---
M ggsn_tests/GGSN_Tests.ttcn
1 file changed, 26 insertions(+), 4 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  Vadim Yanitskiy: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index 4ea7cf4..8f4e709 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -1512,15 +1512,36 @@
                f_pdp_ctx_del(ctx, '1'B);
        }

-       /* Assert that packets with wrong ipv6 global src addr are dropped by 
GGSN on APN IPv4v6 */
-       testcase TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6() runs 
on GT_CT {
+       /* Check that attempting RA with another ll src addr won't work, packet 
dropped: */
+       testcase TC_pdp46_act_deact_gtpu_access_wrong_ll_saddr_ipv6() runs on 
GT_CT {
                f_init();
                var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), 
'1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn)));
                ctx.pco_req := valueof(ts_PCO_IPv4_DNS_CONT);
                f_pdp_ctx_act(ctx);

-               var OCT16 saddr_v6 := 
f_inet6_addr("fde4:8dba:82e1:2000:1:2:3:4");
-               f_send_gtpu(ctx, f_gen_icmpv6_router_solicitation(saddr_v6));
+               var OCT16 saddr_ll := 
f_ipv6_link_local(ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address);
+               var OCT16 saddr_ll_wrong := f_ipv6_mangle(saddr_ll, 8);
+               f_send_gtpu(ctx, 
f_gen_icmpv6_router_solicitation(saddr_ll_wrong));
+               f_wait_gtpu_fail(ctx);
+
+               f_pdp_ctx_del(ctx, '1'B);
+       }
+
+       /* Assert that packets with wrong ipv6 global src addr are dropped by 
GGSN on APN IPv4v6 */
+       testcase TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6() runs 
on GT_CT {
+               f_init();
+               var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), 
'1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn)));
+               ctx.pco_req := valueof(ts_PCO_IPv6_DNS);
+               f_pdp_ctx_act(ctx);
+
+               f_send_gtpu(ctx, f_icmpv6_rs_for_pdp(ctx));
+               f_wait_rtr_adv(ctx);
+               f_send_gtpu(ctx, f_gen_icmpv6_neigh_solicit_for_pdp(ctx));
+
+               var OCT16 dns1_addr := f_PCO_extract_proto(ctx.pco_neg, 
'0003'O);
+               var OCT16 saddr_glob := 
f_ipv6_global(ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address);
+               var OCT16 saddr_wrong := f_ipv6_mangle(saddr_glob);
+               f_send_gtpu(ctx, f_gen_icmpv6_echo(saddr_wrong, dns1_addr));
                f_wait_gtpu_fail(ctx);

                f_pdp_ctx_del(ctx, '1'B);
@@ -1713,6 +1734,7 @@
                execute(TC_pdp46_act_deact_pcodns6());
                execute(TC_pdp46_act_deact_gtpu_access());
                execute(TC_pdp46_act_deact_gtpu_access_wrong_saddr_ipv4());
+               execute(TC_pdp46_act_deact_gtpu_access_wrong_ll_saddr_ipv6());
                
execute(TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6());
                execute(TC_pdp46_clients_interact());
                execute(TC_pdp46_act_deact_apn4());

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27189
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I3d0790104abea7acb4fa5e33109fe93cc51d94ea
Gerrit-Change-Number: 27189
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Vadim Yanitskiy <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to