Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d05c09e5 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Simplify slicing related structs." am: df3a0dca

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib543fc108c30dbcd36eeb803c3df0cf3f411a15a
parents 3dd05882 df3a0dca
Loading
Loading
Loading
Loading
+14 −44
Original line number Original line Diff line number Diff line
@@ -878,6 +878,11 @@ struct SliceInfo {
     * see: 3GPP TS 24.501 Section 9.11.2.8.
     * see: 3GPP TS 24.501 Section 9.11.2.8.
     */
     */
    int32_t mappedHplmnSD;
    int32_t mappedHplmnSD;

    /**
     * Field to indicate the current status of the slice.
     */
    SliceStatus status;
};
};


/**
/**
@@ -984,9 +989,9 @@ struct SlicingConfig {
     */
     */
    vec<UrspRule> urspRules;
    vec<UrspRule> urspRules;
    /**
    /**
     * Struct containing all NSSAIs (list of slice info).
     * List of all slices.
     */
     */
    Nssais nssais;
    vec<SliceInfo> sliceInfo;
};
};


/**
/**
@@ -1009,7 +1014,6 @@ struct UrspRule {
    vec<RouteSelectionDescriptor> routeSelectionDescriptor;
    vec<RouteSelectionDescriptor> routeSelectionDescriptor;
};
};



/**
/**
 * This struct represents a single route selection descriptor as defined in
 * This struct represents a single route selection descriptor as defined in
 * 3GPP TS 24.526.
 * 3GPP TS 24.526.
@@ -1065,47 +1069,13 @@ safe_union OptionalSscMode {
    SscMode value;
    SscMode value;
};
};


/**
enum SliceStatus : int32_t {
 * This struct contains all NSSAIs (lists of slices).
    UNKNOWN,
 */
    CONFIGURED, // Configured but not allowed or rejected yet
struct Nssais {
    ALLOWED,    // Allowed to be used
    /**
    REJECTED_NOT_AVAILABLE_IN_PLMN,     // Rejected because not available in PLMN
     * These are all the slices configured by the network. This includes allowed
    REJECTED_NOT_AVAILABLE_IN_REG_AREA, // Rejected because not available in reg area
     * and rejected slices, as well as slices that are neither allowed nor rejected
    DEFAULT_CONFIGURED,     // Considered valid when configured/allowed slices are not available
     * yet. Empty vector indicates that no slices are configured, and in that case
     * allowed and rejected vectors must be empty as well.
     */
    vec<SliceInfo> configured;
    /**
     * These are all the slices that the UE is allowed to use. All these slices
     * must be configured as well. Empty vector indicates that no slices are
     * allowed yet.
     */
    vec<SliceInfo> allowed;
    /**
     * These are all the slices that the UE is not allowed to use. All these slices
     * must be configured as well. Empty vector indicates that no slices are
     * rejected yet.
     */
    vec<RejectedSliceInfo> rejected;
    /**
     * Default configured NSSAI
     */
    vec<SliceInfo> defaultConfigured;
};

/**
 * This struct represents a network slice rejected by the network. It contains a
 * rejectionCause corresponding to a rejected network slice.
 */
struct RejectedSliceInfo {
    SliceInfo sliceInfo;
    SliceRejectionCause rejectionCause;
};

enum SliceRejectionCause : int32_t {
    NOT_AVAILABLE_IN_PLMN,
    NOT_AVAILABLE_IN_REG_AREA,
};
};


/**
/**