epdg: Tx MIP6-Feature-Vector in s6b AAR msg

This AVP is actually mandatory as per Table 9.1.2.2.1 in TS 29.273.

Change-Id: I47e1f7ff583f60d0d16e151dbfe64fbd33fd7774
diff --git a/library/DIAMETER_ts29_273_Templates.ttcn b/library/DIAMETER_ts29_273_Templates.ttcn
index 5df1cf1..3daf299 100644
--- a/library/DIAMETER_ts29_273_Templates.ttcn
+++ b/library/DIAMETER_ts29_273_Templates.ttcn
@@ -14,6 +14,7 @@
 import from General_Types all;
 import from DIAMETER_Types all;
 import from DIAMETER_Templates all;
+import from DIAMETER_rfc5447_Templates all;
 import from Osmocom_Types all;
 import from Misc_Helpers all;
 
@@ -22,6 +23,13 @@
 /* 3GPP TS 29.273 Section 9 */
 const uint32_t c_DIAMETER_3GPP_S6b_AID := 16777272;
 
+/* 5.2.3.3 MIP6-Feature-Vector bits */
+const uint64_t DIA_TS29_373_MIP6_Feature_Vector_PMIP6_SUPPORTED := 		hex2int('0000010000000000'H);
+const uint64_t DIA_TS29_373_MIP6_Feature_Vector_ASSIGN_LOCAL_IP := 		hex2int('0000080000000000'H);
+const uint64_t DIA_TS29_373_MIP6_Feature_Vector_MIP4_SUPPORTED := 		hex2int('0000100000000000'H);
+const uint64_t DIA_TS29_373_MIP6_Feature_Vector_OPTIMIZED_IDLE_MODE_MOBILITY := hex2int('0000200000000000'H);
+const uint64_t DIA_TS29_373_MIP6_Feature_Vector_GTPv2_SUPPORTED := 		hex2int('0000400000000000'H);
+
 /*******************************
  * SWx 3GPP TS 29.273 section 8
  *******************************/
@@ -198,6 +206,7 @@
  /* TS 29.273 9.2.2.5.1 AA-Request (AAR) */
 template (value) PDU_DIAMETER
 ts_DIA_S6b_AAR(template (value) hexstring imsi,
+	       template (value) MIPv6_NONE_MIP6_Feature_Vector mip6_feat_vec,
 	       template (value) octetstring sess_id := c_def_sess_id,
 	       template (value) charstring orig_host := "pgw.localdomain",
 	       template (value) charstring orig_realm := "localdomain",
@@ -217,7 +226,8 @@
 			ts_AVP_OriginRealm(orig_realm),
 			ts_AVP_DestinationRealm(dest_realm),
 			ts_AVP_AuthRequestType(AUTHORIZE_ONLY),
-			ts_AVP_UserNameImsi(valueof(imsi))
+			ts_AVP_UserNameImsi(valueof(imsi)),
+			ts_AVP_MIP6FeatureVector(mip6_feat_vec)
 			/* TODO: Lots other optional */
 	});