# Functions
InitializeDeviceResourceRangeAndPool initializes the resource range pool according to the sharing type, then apply device specific information.
NewResourceMgr init a New resource manager instance which in turn instantiates pon resource manager instances according to technology.
SetKVClient sets the KV client and return a kv backend.
# Constants
BasePathKvStore - <pathPrefix>/openolt/<device_id>.
FlowGroup flow_groups/<flow_group_id> A group is stored under this path on the KV store after it has been installed to the device.
FlowGroupCached flow_groups_cached/<flow_group_id> When a group add request received, we create the group without setting any members to it since we cannot set any members to a group until it is associated with a multicast flow.
FlowIDPath - Path on the KV store for storing list of Flow IDs for a given subscriberFormat: BasePathKvStore/<(pon_intf_id, onu_id, uni_id)>/flow_ids.
FlowIDsForGem flowids_for_gem/<intfid>/<gemport-id>.
FlowIDsForGemPathPrefix format: flowids_for_gem/<intfid>.
KvstoreTimeout specifies the time out for KV Store Connection.
McastQueuesForIntf multicast queues for pon interfaces.
MeterIDPathSuffix - <(pon_id, onu_id, uni_id)>/<tp_id>/meter_id/<direction>.
NNI uint32 version of -1 which represents the NNI port.
OnuGemInfoPath is path on the kvstore to store onugem info mapformat: onu_gem_info/<intfid>/<onu_id>.
OnuGemInfoPathPathPrefix format: onu_gem_info/<intfid>.
OnuPacketInPath path on the kvstore to store packetin gemport,which will be used for packetin, packetoutformat: onu_packetin/{<intfid>,<onuid>,<logicalport>}/{<vlanId>,<priority>}.
OnuPacketInPathPrefix - path prefix where ONU packet-in vlanID/PCP is storedformat: onu_packetin/{<intfid>,<onuid>,<logicalport>}.
# Structs
FlowInfo holds the flow information.
GroupInfo holds group information.
MeterInfo store meter information at path <(pon_id, onu_id, uni_id)>/<tp_id>/meter_id/<direction>.
OnuGemInfo holds onu information along with gem port list and uni port list.
OpenOltResourceMgr holds resource related information as provided below for each field.
PacketInInfoKey is the key for packet in gemport.