[VOL-4558] actually removing the subscriber when the request come with specific vlans
Change-Id: I1097edbe087ec6221c92fe32ed39103575e9caa6
diff --git a/impl/src/main/java/org/opencord/olt/impl/Olt.java b/impl/src/main/java/org/opencord/olt/impl/Olt.java
index 79d30c6..5ee9375 100644
--- a/impl/src/main/java/org/opencord/olt/impl/Olt.java
+++ b/impl/src/main/java/org/opencord/olt/impl/Olt.java
@@ -439,7 +439,7 @@
uniTagInformationList.add(specificService);
si.setUniTagList(uniTagInformationList);
DiscoveredSubscriber sub = new DiscoveredSubscriber(device, port,
- DiscoveredSubscriber.Status.ADDED, true, si);
+ DiscoveredSubscriber.Status.REMOVED, true, si);
// NOTE we need to keep a list of the subscribers that are provisioned on a port,
// regardless of the flow status
diff --git a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
index eed2b3e..4dafd16 100644
--- a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
+++ b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
@@ -395,7 +395,9 @@
!oltDeviceService.isNniPort(deviceService.getDevice(sk.getPort().connectPoint().deviceId()),
sk.getPort().connectPoint().port()) &&
// not EAPOL flow
- !sk.getService().equals(defaultEapolUniTag)
+ !sk.getService().equals(defaultEapolUniTag) &&
+ !status.subscriberFlowsStatus.equals(OltFlowsStatus.PENDING_REMOVE)
+ && !status.subscriberFlowsStatus.equals(OltFlowsStatus.REMOVED)
) {
subscribers.put(sk, sk.getService());