Update HAL 1.6 for 5G Slicing
- add trafficDescriptor and matchAllRuleAllowed to setupDataCall
- add trafficDescriptors to SetupDataCallResult
- create structs TrafficDescriptor and OSAppId base on the
definition in TS 24.526 Section 5.2
- add MATCH_ALL_RULE_NOT_ALLOWED and ALL_MATCHING_RULES_FAILED
as DataCallFailCause
Bug: 178075054
Test: make VtsHalRadioV1_6TargetTest
Change-Id: Ibf6d92d50c8c2c3fce51522677d75bf33127320f
diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal
index 1862800..e770a5d 100644
--- a/radio/1.6/IRadio.hal
+++ b/radio/1.6/IRadio.hal
@@ -120,6 +120,18 @@
* @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from
* EPDG to 5G. It is valid only when accessNetwork is AccessNetwork:NGRAN. If the slice
* passed from EPDG is rejected, then the data failure cause must be DataCallFailCause:SLICE_REJECTED.
+ * @param trafficDescriptor TrafficDescriptor for which data connection needs to be
+ * established. It is used for URSP traffic matching as described in TS 24.526
+ * Section 4.2.2. It includes an optional DNN which, if present, must be used for traffic
+ * matching -- it does not specify the end point to be used for the data call. The end
+ * point is specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end
+ * point if one is not specified through URSP rules.
+ * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this
+ * request is allowed. If false, this request must not use the match-all URSP rule and if
+ * a non-match-all rule is not found (or if URSP rules are not available) it should return
+ * failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed as some
+ * requests need to have a hard failure if the intention cannot be met, for example, a
+ * zero-rating slice.
*
* Response function is IRadioResponse.setupDataCallResponse_1_6()
*
@@ -128,7 +140,8 @@
oneway setupDataCall_1_6(int32_t serial, AccessNetwork accessNetwork,
DataProfileInfo dataProfileInfo, bool roamingAllowed,
DataRequestReason reason, vec<LinkAddress> addresses, vec<string> dnses,
- int32_t pduSessionId, OptionalSliceInfo sliceInfo);
+ int32_t pduSessionId, OptionalSliceInfo sliceInfo,
+ OptionalTrafficDescriptor trafficDescriptor, bool matchAllRuleAllowed);
/**
* Send an SMS message