VOL-2189 update voltha-openolt-adapter to use voltha-protos=v2.0.1 and voltha-lib-go=v2.2.9;
Release v2.2.1

Change-Id: I527d6541f9d8b7df8504d886a01163c7e57bdd77
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go
index 26b1448..8197170 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go
@@ -20,7 +20,7 @@
 	"context"
 
 	"github.com/golang/protobuf/proto"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
 )
 
 // AdapterProxy interface for AdapterProxy implementation.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go
index 615452c..9286c0d 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go
@@ -19,7 +19,7 @@
 import (
 	"context"
 
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 // CoreProxy interface for voltha-go coreproxy.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go
index 1f70f27..b8ea9d8 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go
@@ -17,7 +17,7 @@
 package adapterif
 
 import (
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 // EventProxy interface for eventproxy
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go
index ebef281..7b09a1f 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go
@@ -23,7 +23,7 @@
 	"github.com/google/uuid"
 	"github.com/opencord/voltha-lib-go/v2/pkg/kafka"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
 	"time"
 )
 
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go
index 18e454f..b0f7f32 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go
@@ -21,8 +21,8 @@
 	a "github.com/golang/protobuf/ptypes/any"
 	"github.com/opencord/voltha-lib-go/v2/pkg/kafka"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
-	"github.com/opencord/voltha-protos/go/voltha"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 	"sync"
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go
index 4f92296..ab6b0d0 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go
@@ -26,7 +26,7 @@
 	"github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
 	"github.com/opencord/voltha-lib-go/v2/pkg/kafka"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 type EventProxy struct {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go
index 8f74439..bcb45f8 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go
@@ -17,7 +17,7 @@
 package common
 
 import (
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 type PmMetrics struct {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go
index 3a51996..dfcaf1e 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go
@@ -23,9 +23,9 @@
 	"github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
 	"github.com/opencord/voltha-lib-go/v2/pkg/kafka"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
-	"github.com/opencord/voltha-protos/go/openflow_13"
-	"github.com/opencord/voltha-protos/go/voltha"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
+	"github.com/opencord/voltha-protos/v2/go/openflow_13"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 )
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
index 82fa644..be98f17 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
@@ -16,9 +16,9 @@
 package adapters
 
 import (
-	ic "github.com/opencord/voltha-protos/go/inter_container"
-	"github.com/opencord/voltha-protos/go/openflow_13"
-	"github.com/opencord/voltha-protos/go/voltha"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
+	"github.com/opencord/voltha-protos/v2/go/openflow_13"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 //IAdapter represents the set of APIs a voltha adapter has to support.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/child_type.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/child_type.go
index 016d7a2..5928192 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/child_type.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/child_type.go
@@ -21,7 +21,7 @@
 	"github.com/golang/protobuf/proto"
 	"github.com/golang/protobuf/protoc-gen-go/descriptor"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	"github.com/opencord/voltha-protos/go/common"
+	"github.com/opencord/voltha-protos/v2/go/common"
 	"reflect"
 	"strconv"
 	"sync"
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus.go
index a7bd040..d0a21f1 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus.go
@@ -20,7 +20,7 @@
 	"encoding/json"
 	"github.com/golang/protobuf/proto"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 // EventBus contains the details required to communicate with the event bus mechanism
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus_client.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus_client.go
index b9c6431..d9a8d49 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/model/event_bus_client.go
@@ -18,7 +18,7 @@
 
 import (
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 // EventBusClient is an abstraction layer structure to communicate with an event bus mechanism
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go
index aeecc03..f7d1b43 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go
@@ -22,7 +22,7 @@
 	"github.com/cevaris/ordered_map"
 	"github.com/gogo/protobuf/proto"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ofp "github.com/opencord/voltha-protos/go/openflow_13"
+	ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
 	"math/big"
 	"strings"
 )
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go
index 36c1ede..007aa74 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go
@@ -18,7 +18,7 @@
 import (
 	"time"
 
-	ca "github.com/opencord/voltha-protos/go/inter_container"
+	ca "github.com/opencord/voltha-protos/v2/go/inter_container"
 )
 
 const (
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go
index e265928..c576bc6 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go
@@ -24,7 +24,7 @@
 	"github.com/golang/protobuf/ptypes/any"
 	"github.com/google/uuid"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
 	"reflect"
 	"strings"
 	"sync"
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
index 854b3e2..fc75026 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
@@ -23,7 +23,7 @@
 	"github.com/golang/protobuf/proto"
 	"github.com/google/uuid"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	ic "github.com/opencord/voltha-protos/go/inter_container"
+	ic "github.com/opencord/voltha-protos/v2/go/inter_container"
 	"strings"
 	"sync"
 	"time"
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go
index 4bd0446..8951a7d 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go
@@ -17,7 +17,7 @@
 package pmmetrics
 
 import (
-	"github.com/opencord/voltha-protos/go/voltha"
+	"github.com/opencord/voltha-protos/v2/go/voltha"
 )
 
 // PmMetrics structure holds metric and device info
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go
index 4422a10..279dc35 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go
@@ -102,6 +102,10 @@
 	//Format: <device_id>/<(pon_intf_id, onu_id)>/flow_id_info/<flow_id>
 	FLOW_ID_INFO_PATH = "{%s}/{%s}/flow_id_info/{%d}"
 
+	//path on the kvstore to store onugem info map
+	//format: <device-id>/onu_gem_info/<intfid>
+	ONU_GEM_INFO_PATH = "{%s}/onu_gem_info/{%d}" // onu_gem/<(intfid)>
+
 	//Constants for internal usage.
 	PON_INTF_ID     = "pon_intf_id"
 	START_IDX       = "start_idx"
@@ -1178,3 +1182,69 @@
 		return "", fmt.Errorf("unexpected-type-%T", t)
 	}
 }
+
+func (PONRMgr *PONResourceManager) AddOnuGemInfo(intfID uint32, onuGemData interface{}) error {
+	/*
+	   Update onugem info map,
+	   :param pon_intf_id: reference of PON interface id
+	   :param onuegmdata: onugem info map
+	*/
+	var Value []byte
+	var err error
+	Path := fmt.Sprintf(ONU_GEM_INFO_PATH, PONRMgr.DeviceID, intfID)
+	Value, err = json.Marshal(onuGemData)
+	if err != nil {
+		log.Error("failed to Marshal")
+		return err
+	}
+
+	if err = PONRMgr.KVStore.Put(Path, Value); err != nil {
+		log.Errorf("Failed to update resource %s", Path)
+		return err
+	}
+	return err
+}
+
+func (PONRMgr *PONResourceManager) GetOnuGemInfo(IntfId uint32, onuGemInfo interface{}) error {
+	/*
+	  Get onugeminfo map from kvstore
+	  :param intfid: refremce pon intfid
+	  :param onuGemInfo: onugem info to return from kv strore.
+	*/
+	var Val []byte
+
+	path := fmt.Sprintf(ONU_GEM_INFO_PATH, PONRMgr.DeviceID, IntfId)
+	value, err := PONRMgr.KVStore.Get(path)
+	if err != nil {
+		log.Errorw("Failed to get from kv store", log.Fields{"path": path})
+		return err
+	} else if value == nil {
+		log.Debug("No onuinfo for path", log.Fields{"path": path})
+		return nil // returning nil as this could happen if there are no onus for the interface yet
+	}
+	if Val, err = kvstore.ToByte(value.Value); err != nil {
+		log.Error("Failed to convert to byte array")
+		return err
+	}
+
+	if err = json.Unmarshal(Val, &onuGemInfo); err != nil {
+		log.Error("Failed to unmarshall")
+		return err
+	}
+	log.Debugw("found onuinfo from path", log.Fields{"path": path, "onuinfo": onuGemInfo})
+	return err
+}
+
+func (PONRMgr *PONResourceManager) DelOnuGemInfoForIntf(intfId uint32) error {
+	/*
+	   delete onugem info for an interface from kvstore
+	   :param intfid: refremce pon intfid
+	*/
+
+	path := fmt.Sprintf(ONU_GEM_INFO_PATH, PONRMgr.DeviceID, intfId)
+	if err := PONRMgr.KVStore.Delete(path); err != nil {
+		log.Errorf("Falied to remove resource %s", path)
+		return err
+	}
+	return nil
+}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go
index 6ffbea8..ea7b36a 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go
@@ -25,7 +25,7 @@
 	"github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
 	"github.com/opencord/voltha-lib-go/v2/pkg/db/model"
 	"github.com/opencord/voltha-lib-go/v2/pkg/log"
-	tp_pb "github.com/opencord/voltha-protos/go/tech_profile"
+	tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
 )
 
 // Interface to pon resource manager APIs
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go
index 0d7cc6a..0904d7e 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go
@@ -18,7 +18,7 @@
 
 import (
 	"github.com/opencord/voltha-lib-go/v2/pkg/db/model"
-	tp_pb "github.com/opencord/voltha-protos/go/tech_profile"
+	tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
 )
 
 type TechProfileIf interface {