[VOL-4348] if we try to remove subscriber after openonu adapter restart the vtfd config is not removed on the ONU

Change-Id: Ife9b8821cb816bc62809ad03c4ceeca4a5da3133
diff --git a/VERSION b/VERSION
index cfc4b16..0ed156c 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.4.1-dev230
+1.4.1-dev231
diff --git a/internal/pkg/onuadaptercore/omci_vlan_config.go b/internal/pkg/onuadaptercore/omci_vlan_config.go
index 3201150..1751cdb 100644
--- a/internal/pkg/onuadaptercore/omci_vlan_config.go
+++ b/internal/pkg/onuadaptercore/omci_vlan_config.go
@@ -339,6 +339,10 @@
 		"SetVid":    strconv.FormatInt(int64(loRuleParams.SetVid), 16),
 		"SetPcp":    loRuleParams.SetPcp,
 		"device-id": oFsm.deviceID, "uni-id": oFsm.pOnuUniPort.uniID})
+
+	if oFsm.pDeviceHandler.isSkipOnuConfigReconciling() {
+		oFsm.reconcileVlanFilterList(ctx, uint16(loRuleParams.SetVid))
+	}
 	oFsm.numUniFlows = 1
 	oFsm.uniRemoveFlowsSlice = make([]uniRemoveVlanFlowParams, 0) //initially nothing to remove
 
@@ -549,6 +553,9 @@
 				"SetPcp":   loRuleParams.SetPcp, "numberofFlows": oFsm.numUniFlows + 1,
 				"device-id": oFsm.deviceID, "uni-id": oFsm.pOnuUniPort.uniID})
 
+			if oFsm.pDeviceHandler.isSkipOnuConfigReconciling() {
+				oFsm.reconcileVlanFilterList(ctx, uint16(loRuleParams.SetVid))
+			}
 			oFsm.numUniFlows++
 			pConfigVlanStateBaseFsm := oFsm.pAdaptFsm.pFsm
 
@@ -3105,3 +3112,18 @@
 	}
 	return false
 }
+
+func (oFsm *UniVlanConfigFsm) reconcileVlanFilterList(ctx context.Context, aSetVid uint16) {
+	// VOL-4342 - reconcile vlanFilterList[] for possible later flow removal
+	if aSetVid == uint16(of.OfpVlanId_OFPVID_PRESENT) {
+		logger.Debugw(ctx, "reconciling - transparent setup: no VTFD config was required",
+			log.Fields{"device-id": oFsm.deviceID})
+	} else {
+		oFsm.vlanFilterList[oFsm.numVlanFilterEntries] = aSetVid
+		logger.Debugw(ctx, "reconciling - Vid of VTFD stored in list", log.Fields{
+			"index":     oFsm.numVlanFilterEntries,
+			"vid":       strconv.FormatInt(int64(oFsm.vlanFilterList[oFsm.numVlanFilterEntries]), 16),
+			"device-id": oFsm.deviceID})
+		oFsm.numVlanFilterEntries++
+	}
+}