Merge "Revert "Update HAL 1.6 for 5G Slicing""
diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal
index e770a5d..1862800 100644
--- a/radio/1.6/IRadio.hal
+++ b/radio/1.6/IRadio.hal
@@ -120,18 +120,6 @@
* @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()
*
@@ -140,8 +128,7 @@
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,
- OptionalTrafficDescriptor trafficDescriptor, bool matchAllRuleAllowed);
+ int32_t pduSessionId, OptionalSliceInfo sliceInfo);
/**
* Send an SMS message
diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal
index a6de033..4eaf7be 100644
--- a/radio/1.6/types.hal
+++ b/radio/1.6/types.hal
@@ -365,13 +365,6 @@
* AccessNetwork:NGRAN.
*/
OptionalSliceInfo sliceInfo;
-
- /**
- * TrafficDescriptors for which this data call must be used. It only includes
- * the TDs for which a data call has been requested so far; it is not an
- * exhaustive list.
- */
- vec<TrafficDescriptor> trafficDescriptors;
};
/**
@@ -831,16 +824,6 @@
* Data call fail due to the slice not being allowed for the data call.
*/
SLICE_REJECTED = 0x8CC,
-
- /**
- * No matching rule available for the request, and match-all rule is not allowed for it.
- */
- MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD,
-
- /**
- * If connection failed for all matching URSP rules
- */
- ALL_MATCHING_RULES_FAILED = 0x8CE,
};
struct PhysicalChannelConfig {
@@ -909,57 +892,3 @@
BAND_53 = 53,
BAND_96 = 96,
};
-
-/**
- * This safe_union represents an optional DNN. DNN stands for Data Network Name
- * and represents an APN as defined in 3GPP TS 23.003.
- */
-safe_union OptionalDNN {
- Monostate noinit;
- string value;
-};
-
-/**
- * This safe_union represents an optional OSAppId.
- */
-safe_union OptionalOSAppId {
- Monostate noinit;
- OSAppId value;
-};
-
-/**
- * This safe_union represents an optional TrafficDescriptor.
- */
-safe_union OptionalTrafficDescriptor {
- Monostate noinit;
- TrafficDescriptor value;
-};
-
-/**
- * This struct represents a traffic descriptor. A valid struct must have at least
- * one of the optional values present. This is based on the definition of traffic
- * descriptor in TS 24.526 Section 5.2.
- */
-struct TrafficDescriptor {
- /**
- * DNN stands for Data Network Name and represents an APN as defined in
- * 3GPP TS 23.003.
- */
- OptionalDNN dnn;
- /**
- * Indicates the OSId + OSAppId (used as category in Android).
- */
- OptionalOSAppId osAppId;
-};
-
-/**
- * This struct represents the OSId + OSAppId as defined in TS 24.526 Section 5.2
- */
-struct OSAppId {
- /**
- * 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
- * + up to 255 bytes for OSAppId).
- */
- vec<uint8_t> osAppId;
-};
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
index 2acec46..8b87292 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
@@ -59,15 +59,9 @@
::android::hardware::radio::V1_6::OptionalSliceInfo optionalSliceInfo;
memset(&optionalSliceInfo, 0, sizeof(optionalSliceInfo));
- ::android::hardware::radio::V1_6::OptionalTrafficDescriptor optionalTrafficDescriptor;
- memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor));
-
- bool matchAllRuleAllowed = true;
-
Return<void> res =
radio_v1_6->setupDataCall_1_6(serial, accessNetwork, dataProfileInfo, roamingAllowed,
- reason, addresses, dnses, -1, optionalSliceInfo,
- optionalTrafficDescriptor, matchAllRuleAllowed);
+ reason, addresses, dnses, -1, optionalSliceInfo);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -88,81 +82,6 @@
}
}
-TEST_P(RadioHidlTest_v1_6, setupDataCall_1_6_osAppId) {
- serial = GetRandomSerialNumber();
-
- ::android::hardware::radio::V1_5::AccessNetwork accessNetwork =
- ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN;
-
- android::hardware::radio::V1_5::DataProfileInfo dataProfileInfo;
- memset(&dataProfileInfo, 0, sizeof(dataProfileInfo));
- dataProfileInfo.profileId = DataProfileId::DEFAULT;
- dataProfileInfo.apn = hidl_string("internet");
- dataProfileInfo.protocol = PdpProtocolType::IP;
- dataProfileInfo.roamingProtocol = PdpProtocolType::IP;
- dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP;
- dataProfileInfo.user = hidl_string("username");
- dataProfileInfo.password = hidl_string("password");
- dataProfileInfo.type = DataProfileInfoType::THREE_GPP;
- dataProfileInfo.maxConnsTime = 300;
- dataProfileInfo.maxConns = 20;
- dataProfileInfo.waitTime = 0;
- dataProfileInfo.enabled = true;
- dataProfileInfo.supportedApnTypesBitmap = 320;
- dataProfileInfo.bearerBitmap = 161543;
- dataProfileInfo.mtuV4 = 0;
- dataProfileInfo.mtuV6 = 0;
- dataProfileInfo.preferred = true;
- dataProfileInfo.persistent = false;
-
- bool roamingAllowed = false;
-
- std::vector<::android::hardware::radio::V1_5::LinkAddress> addresses = {};
- std::vector<hidl_string> dnses = {};
-
- ::android::hardware::radio::V1_2::DataRequestReason reason =
- ::android::hardware::radio::V1_2::DataRequestReason::NORMAL;
-
- ::android::hardware::radio::V1_6::OptionalSliceInfo optionalSliceInfo;
- memset(&optionalSliceInfo, 0, sizeof(optionalSliceInfo));
-
- ::android::hardware::radio::V1_6::OptionalTrafficDescriptor optionalTrafficDescriptor;
- memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor));
-
- ::android::hardware::radio::V1_6::TrafficDescriptor trafficDescriptor;
- ::android::hardware::radio::V1_6::OSAppId osAppId;
- osAppId.osAppId = 1;
- trafficDescriptor.osAppId.value(osAppId);
- optionalTrafficDescriptor.value(trafficDescriptor);
-
- bool matchAllRuleAllowed = true;
-
- Return<void> res =
- radio_v1_6->setupDataCall_1_6(serial, accessNetwork, dataProfileInfo, roamingAllowed,
- reason, addresses, dnses, -1, optionalSliceInfo,
- optionalTrafficDescriptor, matchAllRuleAllowed);
- ASSERT_OK(res);
-
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
- EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial);
- if (cardStatus.base.base.base.cardState == CardState::ABSENT) {
- ASSERT_TRUE(CheckAnyOfErrors(
- radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::SIM_ABSENT,
- ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
- ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW}));
- } else if (cardStatus.base.base.base.cardState == CardState::PRESENT) {
- ASSERT_TRUE(CheckAnyOfErrors(
- radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::NONE,
- ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
- ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW}));
- EXPECT_EQ(optionalTrafficDescriptor.value().osAppId.value().osAppId,
- radioRsp_v1_6->setupDataCallResult.trafficDescriptors[0].osAppId.value().osAppId);
- }
-}
-
/*
* Test IRadio_1_6.sendSms() for the response returned.
*/
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
index ba2a359..334fec3 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
+++ b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
@@ -88,7 +88,6 @@
// Data
::android::hardware::radio::V1_4::DataRegStateResult dataRegResp;
- ::android::hardware::radio::V1_6::SetupDataCallResult setupDataCallResult;
// SimLock status
::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority carrierRestrictionsResp;
diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp
index 1104328..100fabd 100644
--- a/radio/1.6/vts/functional/radio_response.cpp
+++ b/radio/1.6/vts/functional/radio_response.cpp
@@ -1050,9 +1050,8 @@
Return<void> RadioResponse_v1_6::setupDataCallResponse_1_6(
const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
- const android::hardware::radio::V1_6::SetupDataCallResult& dcResponse) {
+ const android::hardware::radio::V1_6::SetupDataCallResult& /* dcResponse */) {
rspInfo = info;
- setupDataCallResult = dcResponse;
parent_v1_6.notify(info.serial);
return Void();
}