Skip to content

Commit

Permalink
[SDFAB-844] Support static configuration of slices via netcfg (#462)
Browse files Browse the repository at this point in the history
* [SDFAB-844 - Part 1] Refactor SlicingManager to assume static allocation of queues to TCs (#453)

* Add SlicingProviderService interface

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove REST API for adding/removing slice/tcs

* Remove unused CLI commands

* Revisit TrafficClass and remove hardcoded initialization

Sytem is not a traffic class

* Introduce TrafficClassConfig class

* Remove queue allocation logic

* Comments and renaming on SlicingManager

* Fix meter color int value

* Less ambiguous handling of BE

* Fix tests

* Remove leftover QueueStoreValue

* Javadoc

* Wordsmithing

* Improvements to TrafficClassConfig

* Rename config class to description to disambiguate from netcfg

* Use default for mobile slice

* clean up rest API docs

* address review comments

* Fix test and checkstyles

* Move distributed store destroy to preDeactivate hook

* Update default tc javadoc

* Fix tests

* [SDFAB-844 - Part 2] Add SlicingConfig class (#454)

* Add SlicingProviderService interface

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove REST API for adding/removing slice/tcs

* Remove unused CLI commands

* Revisit TrafficClass and remove hardcoded initialization

Sytem is not a traffic class

* Introduce TrafficClassConfig class

* Remove queue allocation logic

* Comments and renaming on SlicingManager

* Fix meter color int value

* Less ambiguous handling of BE

* Fix tests

* Remove leftover QueueStoreValue

* Javadoc

* Wordsmithing

* Improvements to TrafficClassConfig

* Rename config class to description to disambiguate from netcfg

* First stab at config class

* First stab at tests for SlicingTests

* Forgot to check in the test JSON

* Consistently call it tcDescription instead of tcConfig

* Remove ability to configure best effort queue ID

For now, we can safely assume it will always be 0

* Use default for mobile slice

* clean up rest API docs

* address review comments

* Fix test and checkstyles

* Move distributed store destroy to preDeactivate hook

* Update default tc javadoc

* javadoc

* review comments

* tests

* Fix tests

* Restore double quotes in json example

* [SDFAB-844 - Part 3] Add NetcfgSlicingProvider (#457)

* Add SlicingProviderService interface

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove slice/tc initialization from FabricUpfProgrammable

We wil use netcfg for initialization

* Remove REST API for adding/removing slice/tcs

* Remove unused CLI commands

* Revisit TrafficClass and remove hardcoded initialization

Sytem is not a traffic class

* Introduce TrafficClassConfig class

* Remove queue allocation logic

* Comments and renaming on SlicingManager

* Fix meter color int value

* Less ambiguous handling of BE

* Fix tests

* Remove leftover QueueStoreValue

* Javadoc

* Wordsmithing

* Improvements to TrafficClassConfig

* Rename config class to description to disambiguate from netcfg

* First stab at config class

* First stab at tests for SlicingTests

* Forgot to check in the test JSON

* Consistently call it tcDescription instead of tcConfig

* Move constants to root package

* Centralize app name constants in one place

It was hard to kkep track of the different app names used

* Progress on netcfg slicing provider

* Working config add/remove

* Fix copyright

* Read initial config

* wordsmithing

* Dyanmic config of system tc

* Remove ability to configure best effort queue ID

For now, we can safely assume it will always be 0

* Clean up

* Use default for mobile slice

* clean up rest API docs

* address review comments

* Fix test and checkstyles

* Doubt

* Move distributed store destroy to preDeactivate hook

* Update default tc javadoc

* javadoc

* review comments

* tests

* Fix tests

* Address review comments

* Add initial tests

* Add additional tests

* Address review comments

* Add tests for system tc handling

* Re-add double quotes to javadoc config example

* Address Charles's comment

* Hardcode mobile slice to 0 for now
  • Loading branch information
ccascone authored Jan 26, 2022
1 parent 4387313 commit ac45f26
Show file tree
Hide file tree
Showing 57 changed files with 1,941 additions and 1,225 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
// Copyright 2020-present Open Networking Foundation
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

// Do not modify this file manually, use `make constants` to generate this file.

package org.stratumproject.fabric.tna.behaviour;
package org.stratumproject.fabric.tna;

import com.google.common.collect.ImmutableMap;

Expand All @@ -19,6 +17,13 @@
*/
public final class Constants {

// TODO: use consistent naming, and potentially just one app name
// After all, the actual app in the ONOS sense is just one.
public static final String APP_NAME = "org.stratumproject.fabric-tna";
public static final String APP_NAME_UPF = "org.stratumproject.fabric-tna.upf";
public static final String APP_NAME_SLICING = "org.stratumproject.fabric.tna.slicing";
public static final String APP_NAME_INT = "org.stratumproject.fabric.tna.inbandtelemetry";

public static final byte[] ONE = new byte[]{1};
public static final byte[] ZERO = new byte[]{0};

Expand Down Expand Up @@ -51,20 +56,6 @@ public final class Constants {
public static final int DEFAULT_PW_TRANSPORT_VLAN = 4090;
public static final int PKT_IN_MIRROR_SESSION_ID = 0x1FF;

// Static Queue IDs (should match those in gen-stratum-qos-config.py)
public static final int QUEUE_ID_BEST_EFFORT = 0;
public static final int QUEUE_ID_SYSTEM = 1;
public static final int QUEUE_ID_CONTROL = 2;
public static final int QUEUE_ID_FIRST_REAL_TIME = 3; // This will always be 3
// FIXME: ELASTIC_ID can change and it should be configurable at runtime (i.e., via netcfg?)
public static final int QUEUE_ID_FIRST_ELASTIC = 6; // TODO: this can change

// Traffic Classes
public static final int TC_BEST_EFFORT = 0; // Also the default TC
public static final int TC_CONTROL = 1;
public static final int TC_REAL_TIME = 2;
public static final int TC_ELASTIC = 3;

public static final int DEFAULT_SLICE_ID = 0;

// Tofino Meter Colors
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,9 @@
* Component responsible for registering the fabric-tna pipeconf
* at app activation.
*/
@Component(immediate = true)
@Component(immediate = true, service = PipeconfLoader.class)
public class PipeconfLoader {

public static final String APP_NAME = "org.stratumproject.fabric-tna";
public static final String APP_NAME_UPF = "org.stratumproject.fabric-tna.upf";

private static Logger log = getLogger(PipeconfLoader.class);

private static final String BASE_PIPECONF_ID = "org.stratumproject";
Expand Down Expand Up @@ -77,8 +74,8 @@ public class PipeconfLoader {

@Activate
public void activate() {
coreService.registerApplication(APP_NAME);
coreService.registerApplication(APP_NAME_UPF);
coreService.registerApplication(Constants.APP_NAME);
coreService.registerApplication(Constants.APP_NAME_UPF);
// Registers all pipeconf at component activation.
pipeconfs = buildAllPipeconfs();
pipeconfs.forEach(pipeconfService::register);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import org.onosproject.net.pi.model.PiPipeconf;
import org.slf4j.Logger;
import org.stratumproject.fabric.tna.slicing.api.Color;
import org.stratumproject.fabric.tna.slicing.api.MeterColor;

import java.io.BufferedReader;
import java.io.IOException;
Expand All @@ -16,9 +16,9 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static org.onosproject.net.pi.model.PiPipeconf.ExtensionType.CPU_PORT_TXT;
import static org.slf4j.LoggerFactory.getLogger;
import static org.stratumproject.fabric.tna.behaviour.Constants.BMV2_COLOR_RED;
import static org.stratumproject.fabric.tna.behaviour.Constants.TNA;
import static org.stratumproject.fabric.tna.behaviour.Constants.V1MODEL;
import static org.stratumproject.fabric.tna.Constants.BMV2_COLOR_RED;
import static org.stratumproject.fabric.tna.Constants.TNA;
import static org.stratumproject.fabric.tna.Constants.V1MODEL;
import static org.stratumproject.fabric.tna.behaviour.P4InfoConstants.FABRIC_INGRESS_SPGW_UPLINK_SESSIONS;

/**
Expand Down Expand Up @@ -70,11 +70,11 @@ public boolean isArchTna() {
.orElse(false);
}

public int getMeterColor(Color color) {
if (isArchV1model() && color == Color.RED) {
public int getMeterColor(MeterColor color) {
if (isArchV1model() && color == MeterColor.RED) {
return BMV2_COLOR_RED;
} else {
return color.ordinal();
return color.toInt();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
import org.onosproject.net.pi.runtime.PiAction;
import org.onosproject.net.pi.runtime.PiActionParam;
import org.onosproject.segmentrouting.config.SegmentRoutingDeviceConfig;
import org.stratumproject.fabric.tna.PipeconfLoader;
import org.stratumproject.fabric.tna.Constants;
import org.stratumproject.fabric.tna.inbandtelemetry.IntProgrammable;
import org.stratumproject.fabric.tna.inbandtelemetry.IntReportConfig;

Expand All @@ -74,8 +74,8 @@
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.KRYO;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.doCareRangeMatch;

import static org.stratumproject.fabric.tna.behaviour.Constants.V1MODEL_INT_REPORT_MIRROR_ID;
import static org.stratumproject.fabric.tna.behaviour.Constants.V1MODEL_RECIRC_PORT;
import static org.stratumproject.fabric.tna.Constants.V1MODEL_INT_REPORT_MIRROR_ID;
import static org.stratumproject.fabric.tna.Constants.V1MODEL_RECIRC_PORT;

/**
* Implementation of INT programmable behavior for fabric.p4.
Expand Down Expand Up @@ -157,7 +157,7 @@ private boolean setupBehaviour() {
cfgService = handler().get(NetworkConfigService.class);
hostService = handler().get(HostService.class);
final CoreService coreService = handler().get(CoreService.class);
appId = coreService.getAppId(PipeconfLoader.APP_NAME);
appId = coreService.getAppId(Constants.APP_NAME);
if (appId == null) {
log.warn("Application ID is null. Cannot initialize behaviour.");
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.onosproject.net.pi.runtime.PiAction;
import org.onosproject.net.pi.runtime.PiPacketMetadata;
import org.onosproject.net.pi.runtime.PiPacketOperation;
import org.stratumproject.fabric.tna.slicing.api.SlicingService;

import java.nio.ByteBuffer;
import java.util.Collection;
Expand All @@ -42,9 +43,8 @@
import static org.onosproject.net.PortNumber.TABLE;
import static org.onosproject.net.flow.instructions.Instruction.Type.OUTPUT;
import static org.onosproject.net.pi.model.PiPacketOperationType.PACKET_OUT;
import static org.stratumproject.fabric.tna.behaviour.Constants.ONE;
import static org.stratumproject.fabric.tna.behaviour.Constants.QUEUE_ID_SYSTEM;
import static org.stratumproject.fabric.tna.behaviour.Constants.ZERO;
import static org.stratumproject.fabric.tna.Constants.ONE;
import static org.stratumproject.fabric.tna.Constants.ZERO;
import static org.stratumproject.fabric.tna.behaviour.FabricTreatmentInterpreter.mapAclTreatment;
import static org.stratumproject.fabric.tna.behaviour.FabricTreatmentInterpreter.mapEgressNextTreatment;
import static org.stratumproject.fabric.tna.behaviour.FabricTreatmentInterpreter.mapForwardingTreatment;
Expand Down Expand Up @@ -118,6 +118,8 @@ public class FabricInterpreter extends AbstractFabricHandlerBehavior
.put(P4InfoConstants.FABRIC_INGRESS_FORWARDING_ROUTING_V4, NOP)
.build();

protected SlicingService slicingService;

private FabricTreatmentInterpreter treatmentInterpreter;

/**
Expand Down Expand Up @@ -146,6 +148,7 @@ private void instantiateTreatmentInterpreter() {
public void setHandler(DriverHandler handler) {
super.setHandler(handler);
instantiateTreatmentInterpreter();
slicingService = handler().get(SlicingService.class);
}

@Override
Expand Down Expand Up @@ -194,6 +197,7 @@ private Collection<PiPacketMetadata> createPacketMetadata(
long portNumber, boolean doForwarding)
throws PiInterpreterException {
try {
int queueId = slicingService.getSystemTrafficClass().queueId().id();
ImmutableList.Builder<PiPacketMetadata> builder = ImmutableList.builder();
builder.add(PiPacketMetadata.builder()
.withId(P4InfoConstants.PAD0)
Expand All @@ -212,7 +216,7 @@ private Collection<PiPacketMetadata> createPacketMetadata(
.build());
builder.add(PiPacketMetadata.builder()
.withId(P4InfoConstants.QUEUE_ID)
.withValue(copyFrom(QUEUE_ID_SYSTEM)
.withValue(copyFrom(queueId)
.fit(P4InfoConstants.QUEUE_ID_BITWIDTH))
.build());
builder.add(PiPacketMetadata.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.INFRA_PORT;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.PAIR_PORT;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.isSrMetadataSet;
import static org.stratumproject.fabric.tna.behaviour.Constants.MAX_SLICE_ID;
import static org.stratumproject.fabric.tna.behaviour.Constants.MAX_TC;
import static org.stratumproject.fabric.tna.behaviour.Constants.METADATA_TO_PORT_TYPE;
import static org.stratumproject.fabric.tna.behaviour.Constants.TC_BITWIDTH;
import static org.stratumproject.fabric.tna.Constants.MAX_SLICE_ID;
import static org.stratumproject.fabric.tna.Constants.MAX_TC;
import static org.stratumproject.fabric.tna.Constants.METADATA_TO_PORT_TYPE;
import static org.stratumproject.fabric.tna.Constants.TC_BITWIDTH;

/**
* Utility class with methods common to fabric-tna pipeconf operations.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
import org.onosproject.net.pi.runtime.PiAction;
import org.onosproject.net.pi.runtime.PiActionParam;
import org.slf4j.Logger;
import org.stratumproject.fabric.tna.PipeconfLoader;
import org.stratumproject.fabric.tna.Constants;
import org.stratumproject.fabric.tna.behaviour.AbstractFabricHandlerBehavior;
import org.stratumproject.fabric.tna.behaviour.FabricCapabilities;
import org.stratumproject.fabric.tna.behaviour.P4InfoConstants;
Expand All @@ -64,15 +64,15 @@

import static java.lang.String.format;
import static org.slf4j.LoggerFactory.getLogger;
import static org.stratumproject.fabric.tna.behaviour.Constants.DEFAULT_VLAN;
import static org.stratumproject.fabric.tna.behaviour.Constants.FWD_IPV4_ROUTING;
import static org.stratumproject.fabric.tna.behaviour.Constants.FWD_MPLS;
import static org.stratumproject.fabric.tna.behaviour.Constants.ONE;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_INTERNAL;
import static org.stratumproject.fabric.tna.behaviour.Constants.RECIRC_PORTS;
import static org.stratumproject.fabric.tna.behaviour.Constants.V1MODEL_RECIRC_PORT;
import static org.stratumproject.fabric.tna.behaviour.Constants.ZERO;
import static org.stratumproject.fabric.tna.behaviour.Constants.PKT_IN_MIRROR_SESSION_ID;
import static org.stratumproject.fabric.tna.Constants.DEFAULT_VLAN;
import static org.stratumproject.fabric.tna.Constants.FWD_IPV4_ROUTING;
import static org.stratumproject.fabric.tna.Constants.FWD_MPLS;
import static org.stratumproject.fabric.tna.Constants.ONE;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_INTERNAL;
import static org.stratumproject.fabric.tna.Constants.RECIRC_PORTS;
import static org.stratumproject.fabric.tna.Constants.V1MODEL_RECIRC_PORT;
import static org.stratumproject.fabric.tna.Constants.ZERO;
import static org.stratumproject.fabric.tna.Constants.PKT_IN_MIRROR_SESSION_ID;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.KRYO;

import static org.stratumproject.fabric.tna.behaviour.FabricUtils.outputPort;
Expand Down Expand Up @@ -129,7 +129,7 @@ public void init(DeviceId deviceId, PipelinerContext context) {
this.forwardingTranslator = new ForwardingObjectiveTranslator(deviceId, capabilities);
this.nextTranslator = new NextObjectiveTranslator(deviceId, capabilities);
this.coreService = context.directory().get(CoreService.class);
this.appId = coreService.getAppId(PipeconfLoader.APP_NAME);
this.appId = coreService.getAppId(Constants.APP_NAME);

initializePipeline();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.INTERFACE_CONFIG_UPDATE;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.isSrMetadataSet;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.isValidSrMetadata;
import static org.stratumproject.fabric.tna.behaviour.Constants.ETH_TYPE_EXACT_MASK;
import static org.stratumproject.fabric.tna.behaviour.Constants.FWD_IPV4_ROUTING;
import static org.stratumproject.fabric.tna.behaviour.Constants.FWD_IPV6_ROUTING;
import static org.stratumproject.fabric.tna.behaviour.Constants.FWD_MPLS;
import static org.stratumproject.fabric.tna.behaviour.Constants.ONE;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_EDGE;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_INFRA;
import static org.stratumproject.fabric.tna.behaviour.Constants.ZERO;
import static org.stratumproject.fabric.tna.Constants.ETH_TYPE_EXACT_MASK;
import static org.stratumproject.fabric.tna.Constants.FWD_IPV4_ROUTING;
import static org.stratumproject.fabric.tna.Constants.FWD_IPV6_ROUTING;
import static org.stratumproject.fabric.tna.Constants.FWD_MPLS;
import static org.stratumproject.fabric.tna.Constants.ONE;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_EDGE;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_INFRA;
import static org.stratumproject.fabric.tna.Constants.ZERO;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.l2InstructionOrFail;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.criterion;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.l2Instruction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.PAIR_PORT;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.isSrMetadataSet;
import static org.onosproject.segmentrouting.metadata.SRObjectiveMetadata.isValidSrMetadata;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_EDGE;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_INFRA;
import static org.stratumproject.fabric.tna.behaviour.Constants.PORT_TYPE_MASK;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_EDGE;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_INFRA;
import static org.stratumproject.fabric.tna.Constants.PORT_TYPE_MASK;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.criterionNotNull;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.outputPort;
import static org.stratumproject.fabric.tna.behaviour.FabricUtils.portType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,11 @@
import org.onosproject.net.pi.runtime.PiCounterCellId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.stratumproject.fabric.tna.PipeconfLoader;
import org.stratumproject.fabric.tna.Constants;
import org.stratumproject.fabric.tna.behaviour.FabricCapabilities;
import org.stratumproject.fabric.tna.slicing.api.SliceId;
import org.stratumproject.fabric.tna.slicing.api.SlicingException;
import org.stratumproject.fabric.tna.slicing.api.SlicingService;
import org.stratumproject.fabric.tna.slicing.api.TrafficClass;

import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -89,10 +84,7 @@ public class FabricUpfProgrammable extends AbstractP4RuntimeHandlerBehaviour
private static final int DEFAULT_PRIORITY = 128;
private static final long DEFAULT_P4_DEVICE_ID = 1;

private static final int PRIORITY_LOW = 10;

protected FlowRuleService flowRuleService;
protected SlicingService slicingService;
protected PacketService packetService;
protected FabricUpfTranslator upfTranslator;

Expand All @@ -107,8 +99,6 @@ public class FabricUpfProgrammable extends AbstractP4RuntimeHandlerBehaviour

private ApplicationId appId;

static final SliceId SLICE_MOBILE = SliceId.of(SliceId.MAX);

@Override
protected boolean setupBehaviour(String opName) {
// Already initialized.
Expand All @@ -126,11 +116,10 @@ protected boolean setupBehaviour(String opName) {
}

flowRuleService = handler().get(FlowRuleService.class);
slicingService = handler().get(SlicingService.class);
packetService = handler().get(PacketService.class);
upfTranslator = new FabricUpfTranslator();
final CoreService coreService = handler().get(CoreService.class);
appId = coreService.getAppId(PipeconfLoader.APP_NAME_UPF);
appId = coreService.getAppId(Constants.APP_NAME_UPF);
if (appId == null) {
log.warn("Application ID is null. Cannot initialize behaviour.");
return false;
Expand All @@ -150,24 +139,6 @@ protected boolean setupBehaviour(String opName) {
public boolean init() {
if (setupBehaviour("init()")) {
log.info("UpfProgrammable initialized for appId {} and deviceId {}", appId, deviceId);
try {
/* Add MOBILE slice and BEST_EFFORT tc if needed
and initialize the remaining traffic classes */
Set<TrafficClass> tcs = slicingService.getTrafficClasses(SLICE_MOBILE);
if (tcs.isEmpty()) {
slicingService.addSlice(SLICE_MOBILE);
}
Arrays.stream(TrafficClass.values()).forEach(tc -> {
if (tcs.contains(tc) || tc.equals(TrafficClass.BEST_EFFORT) ||
tc.equals(TrafficClass.SYSTEM)) {
return;
}
slicingService.addTrafficClass(SLICE_MOBILE, tc);
});
} catch (SlicingException e) {
log.error("Exception while configuring traffic class for Mobile Slice: {}", e.getMessage());
return false;
}
return true;
}
return false;
Expand Down Expand Up @@ -312,11 +283,6 @@ public void cleanUp() {
return;
}
log.info("Clearing all UPF-related table entries.");
// Remove static Queue Configuration
slicingService.removeTrafficClass(SLICE_MOBILE, TrafficClass.ELASTIC);
slicingService.removeTrafficClass(SLICE_MOBILE, TrafficClass.REAL_TIME);
slicingService.removeTrafficClass(SLICE_MOBILE, TrafficClass.CONTROL);
slicingService.removeSlice(SLICE_MOBILE);
}

@Override
Expand Down
Loading

0 comments on commit ac45f26

Please sign in to comment.