fix the fttb subscriber vlan filter
Change-Id: I12c874dc53eb0c8479141c2818272bbc29721d86
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index af7fef3..e6236fc 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -3302,6 +3302,10 @@
if loSetVlan == uint16(of.OfpVlanId_OFPVID_NONE) && loMatchVlan == uint16(of.OfpVlanId_OFPVID_PRESENT) {
logger.Debugw(ctx, "flow-add vlan-any/copy", log.Fields{"device-id": dh.DeviceID})
loSetVlan = loMatchVlan //both 'transparent' (copy any)
+ } else if loSetVlan == uint16(of.OfpVlanId_OFPVID_NONE) && loMatchVlan != uint16(of.OfpVlanId_OFPVID_PRESENT) &&
+ loInnerCvlan != uint16(of.OfpVlanId_OFPVID_NONE) {
+ loSetVlan = loMatchVlan
+ logger.Debugw(ctx, "flow-add, double tagged case, set setvlan to matchvlan ", log.Fields{"device-id": dh.DeviceID, "loSetVlan": loSetVlan, "loMatchVlan": loMatchVlan})
} else {
//looks like OMCI value 4097 (copyFromOuter - for Uni double tagged) is not supported here
if loSetVlan != uint16(of.OfpVlanId_OFPVID_PRESENT) {