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 {