ggsn: add tests to validate IPv4v6 pdp ctx
Add related templates based on 3GPP TS 29.060 Figure 37A and create
tests based on existing IPv4 and v6 ones.
Related: OS#2900
Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index 018f6da..bd39e27 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -161,6 +161,29 @@
}
}
+ /* 3GPP TS 29.060 Figure 37A: End User Address Information Element for IPv4v6 (both static) */
+ template EndUserAddress t_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) := {
+ type_gtpc := '80'O,
+ endUserAddress := {
+ endUserAddressIPv4andIPv6 := {
+ lengthf := 2,
+ pdp_typeorg := '0001'B,
+ spare := '1111'B,
+ pdp_typenum := '8D'O,
+ ipv4_address := ip_addr4,
+ ipv6_address := ip_addr6
+ }
+ }
+ }
+ template EndUserAddress t_EuaIPv4Dynv6Dyn := t_EuaIPv4v6(omit, omit);
+ template EndUserAddress tr_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) modifies t_EuaIPv4v6 := {
+ endUserAddress := {
+ endUserAddressIPv4andIPv6 := {
+ lengthf := 2+lengthof(ip_addr4)+lengthof(ip_addr6)
+ }
+ }
+ }
+
template AccessPointName ts_APN(octetstring apn) := {
type_gtpc := '83'O,
lengthf := lengthof(apn),