VOL-1879 : Support Transparent C-tag handling in OpenOLT

Change-Id: I500170456764df852e9f80a78d9ddc6514627f0a
diff --git a/adaptercore/openolt_flowmgr.go b/adaptercore/openolt_flowmgr.go
index fae77a9..9917d82 100644
--- a/adaptercore/openolt_flowmgr.go
+++ b/adaptercore/openolt_flowmgr.go
@@ -68,6 +68,9 @@
 
 	//FIXME - see also BRDCM_DEFAULT_VLAN in broadcom_onu.py
 
+	//Transparent Vlan
+	RESERVED_VLAN = 4095
+
 	//DefaultMgmtVlan default vlan value
 	DefaultMgmtVlan = 4091
 
@@ -905,10 +908,16 @@
 		classifier.IpProto = ipProto.(uint32)
 	}
 	if vlanID, ok := classifierInfo[VlanVid]; ok {
-		classifier.OVid = (vlanID.(uint32)) & VlanvIDMask
+		vid := (vlanID.(uint32)) & VlanvIDMask
+		if vid != RESERVED_VLAN {
+			classifier.OVid = vid
+		}
 	}
 	if metadata, ok := classifierInfo[METADATA]; ok {
-		classifier.IVid = uint32(metadata.(uint64))
+		vid := uint32(metadata.(uint64))
+		if vid != RESERVED_VLAN {
+			classifier.IVid = vid
+		}
 	}
 	if vlanPcp, ok := classifierInfo[VlanPcp]; ok {
 		if vlanPcp == 0 {