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

Commit df3a0dca authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Simplify slicing related structs."

parents 77754235 ca2a2258
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,
};
};


/**
/**