Merge "API updates for TrafficDescriptr fields" am: c2ccef2e2a

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1593911

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3870099c000a3efc0ae85a5db081dd6f8a4f6651
This commit is contained in:
Sarah Chin 2021-03-03 18:59:57 +00:00 committed by Automerger Merge Worker
commit a6ce4c80e8
4 changed files with 25 additions and 16 deletions

View file

@ -103,6 +103,12 @@ interface IRadio extends @1.5::IRadio {
* - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified * - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified
* in the response of getDataRegistrationState. * in the response of getDataRegistrationState.
* *
* The differences relative to the 1.5 version of the API are:
* - The addition of new parameters pduSessionId, sliceInfo, trafficDescriptor, and
* matchAllRuleAllowed.
* - If an existing data call should be used for the request, that must be indicated in the
* response by setting SetupDataCallResult::cid to the context id of that call.
*
* @param serial Serial number of request. * @param serial Serial number of request.
* @param accessNetwork The access network to setup the data call. If the data connection cannot * @param accessNetwork The access network to setup the data call. If the data connection cannot
* be established on the specified access network then it should be responded with an error. * be established on the specified access network then it should be responded with an error.
@ -122,7 +128,8 @@ interface IRadio extends @1.5::IRadio {
* Reference: 3GPP TS 24.007 section 11.2.3.1b * Reference: 3GPP TS 24.007 section 11.2.3.1b
* @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from * @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 * 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. * 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 * @param trafficDescriptor TrafficDescriptor for which data connection needs to be
* established. It is used for URSP traffic matching as described in TS 24.526 * 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 * Section 4.2.2. It includes an optional DNN which, if present, must be used for traffic

View file

@ -274,7 +274,8 @@ enum HandoverFailureMode : int32_t {
/** /**
* Overwritten from @1.5::SetupDataCallResult in order to change the suggestedRetryTime * Overwritten from @1.5::SetupDataCallResult in order to change the suggestedRetryTime
* to 64-bit value. In the future, this must be extended instead of overwritten. * to 64-bit value. In the future, this must be extended instead of overwritten.
* Also added defaultQos, qosSessions, and handoverFailureMode in this version. * Also added defaultQos, qosSessions, handoverFailureMode, pduSessionId, sliceInfo,
* and traffic descriptors in this version.
*/ */
struct SetupDataCallResult { struct SetupDataCallResult {
/** Data call fail cause. DataCallFailCause.NONE if no error. */ /** Data call fail cause. DataCallFailCause.NONE if no error. */
@ -914,7 +915,7 @@ enum DataCallFailCause : @1.4::DataCallFailCause {
MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD, MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD,
/** /**
* If connection failed for all matching URSP rules * If connection failed for all matching URSP rules.
*/ */
ALL_MATCHING_RULES_FAILED = 0x8CE, ALL_MATCHING_RULES_FAILED = 0x8CE,
}; };
@ -923,17 +924,17 @@ enum DataCallFailCause : @1.4::DataCallFailCause {
* This safe_union represents an optional DNN. DNN stands for Data Network Name * This safe_union represents an optional DNN. DNN stands for Data Network Name
* and represents an APN as defined in 3GPP TS 23.003. * and represents an APN as defined in 3GPP TS 23.003.
*/ */
safe_union OptionalDNN { safe_union OptionalDnn {
Monostate noinit; Monostate noinit;
string value; string value;
}; };
/** /**
* This safe_union represents an optional OSAppId. * This safe_union represents an optional OsAppId.
*/ */
safe_union OptionalOSAppId { safe_union OptionalOsAppId {
Monostate noinit; Monostate noinit;
OSAppId value; OsAppId value;
}; };
/** /**
@ -954,21 +955,21 @@ struct TrafficDescriptor {
* DNN stands for Data Network Name and represents an APN as defined in * DNN stands for Data Network Name and represents an APN as defined in
* 3GPP TS 23.003. * 3GPP TS 23.003.
*/ */
OptionalDNN dnn; OptionalDnn dnn;
/** /**
* Indicates the OSId + OSAppId (used as category in Android). * Indicates the OsId + OsAppId (used as category in Android).
*/ */
OptionalOSAppId osAppId; OptionalOsAppId osAppId;
}; };
/** /**
* This struct represents the OSId + OSAppId as defined in TS 24.526 Section 5.2 * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2
*/ */
struct OSAppId { struct OsAppId {
/** /**
* Byte array representing OSId + OSAppId. The minimum length of the array is * Byte array representing OsId + OsAppId. The minimum length of the array is
* 18 and maximum length is 272 (16 bytes for OSId + 1 byte for OSAppId length * 18 and maximum length is 272 (16 bytes for OsId + 1 byte for OsAppId length
* + up to 255 bytes for OSAppId). * + up to 255 bytes for OsAppId).
*/ */
vec<uint8_t> osAppId; vec<uint8_t> osAppId;
}; };

View file

@ -130,7 +130,7 @@ TEST_P(RadioHidlTest_v1_6, setupDataCall_1_6_osAppId) {
memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor)); memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor));
::android::hardware::radio::V1_6::TrafficDescriptor trafficDescriptor; ::android::hardware::radio::V1_6::TrafficDescriptor trafficDescriptor;
::android::hardware::radio::V1_6::OSAppId osAppId; ::android::hardware::radio::V1_6::OsAppId osAppId;
osAppId.osAppId = 1; osAppId.osAppId = 1;
trafficDescriptor.osAppId.value(osAppId); trafficDescriptor.osAppId.value(osAppId);
optionalTrafficDescriptor.value(trafficDescriptor); optionalTrafficDescriptor.value(trafficDescriptor);

View file

@ -1059,6 +1059,7 @@ Return<void> RadioResponse_v1_6::setupDataCallResponse_1_6(
parent_v1_6.notify(info.serial); parent_v1_6.notify(info.serial);
return Void(); return Void();
} }
Return<void> RadioResponse_v1_6::setNrDualConnectivityStateResponse( Return<void> RadioResponse_v1_6::setNrDualConnectivityStateResponse(
const ::android::hardware::radio::V1_6::RadioResponseInfo& info) { const ::android::hardware::radio::V1_6::RadioResponseInfo& info) {
rspInfo = info; rspInfo = info;