From 64c8da6fa0525c2d2c3e47e042d03847dbc5e8e2 Mon Sep 17 00:00:00 2001 From: Daniel Bright Date: Wed, 2 Sep 2020 17:07:20 -0700 Subject: [PATCH] Add Handover Failure Mode to Radio Hal On a handover request failure, the modem can now determine whether or not to fallback. There is also the option to revert to the legacy logic. Following the legacy logic is the default behavior. Test: FrameworkTelephonyTests Bug: 161572465 Change-Id: Iad778e83ffc264ee25f57f54ff58532d6a8c5cbf Merged-In: Iad778e83ffc264ee25f57f54ff58532d6a8c5cbf --- radio/1.6/types.hal | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal index fbcbe976e9..4bd3cd6f35 100644 --- a/radio/1.6/types.hal +++ b/radio/1.6/types.hal @@ -157,7 +157,7 @@ struct QosFilter { QosFilterDirection direction; /** - * Specified the order in which the filter needs to be matched. + * Specifies the order in which the filter needs to be matched. * A lower numerical(positive) value has a higher precedence. * Set -1 when unspecified. */ @@ -176,6 +176,30 @@ struct QosSession { vec qosFilters; }; +/** The allowed failure modes on an IWLAN handover failure. */ +enum HandoverFailureMode : int32_t { + /** + * On data handover failure, fallback to the source data transport when the + * fail cause is due to a hand off preference change. + */ + LEGACY = 0, + + /** On data handover failure, fallback to the source data transport. */ + DO_FALLBACK = 1, + + /** + * On data handover failure, retry the handover instead of falling back to + * the source data transport. + */ + NO_FALLBACK_RETRY_HANDOVER = 2, + + /** + * On data handover failure, setup a new data connection by sending a normal + * request to the underlying data service. + */ + NO_FALLBACK_RETRY_SETUP_NORMAL = 3 +}; + struct SetupDataCallResult { @1.5::SetupDataCallResult base; @@ -187,4 +211,7 @@ struct SetupDataCallResult { * PDNs that support dedicated bearers. */ vec qosSessions; + + /** Specifies the fallback mode on an IWLAN handover failure. */ + HandoverFailureMode handoverFailureMode; };