VOL-2861 replace uint64 kafka interadapter timestamps with timestamp proto

Change-Id: I7bf9abbdb590ac193b1d769f46cddc01b0ac2efb
diff --git a/go.mod b/go.mod
index 2a2b789..25c3697 100644
--- a/go.mod
+++ b/go.mod
@@ -6,8 +6,8 @@
 	github.com/gogo/protobuf v1.3.0
 	github.com/golang/protobuf v1.3.2
 	github.com/google/uuid v1.1.1
-	github.com/opencord/voltha-lib-go/v3 v3.1.2
-	github.com/opencord/voltha-protos/v3 v3.3.0
+	github.com/opencord/voltha-lib-go/v3 v3.1.6
+	github.com/opencord/voltha-protos/v3 v3.3.2
 	github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
 	github.com/stretchr/testify v1.4.0
 	google.golang.org/grpc v1.24.0
diff --git a/go.sum b/go.sum
index 61fd9aa..791713f 100644
--- a/go.sum
+++ b/go.sum
@@ -196,10 +196,10 @@
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v1.4.2 h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I=
 github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/opencord/voltha-lib-go/v3 v3.1.2 h1:1BUoi8cljTUlYueGCZCtrWf/a5+KhNupPTILOWEDZVo=
-github.com/opencord/voltha-lib-go/v3 v3.1.2/go.mod h1:ad7C/5/09RcYvGQrxUH4AuOiO8OSQqGmCgEJNEpaag8=
-github.com/opencord/voltha-protos/v3 v3.3.0 h1:1Q1C6nWSkjaJY87GQgc7hWU6kqjkWdM+rzqSXBKb0cQ=
-github.com/opencord/voltha-protos/v3 v3.3.0/go.mod h1:nl1ETp5Iw3avxOaKD8BJlYY5wYI4KeV95aT1pL63nto=
+github.com/opencord/voltha-lib-go/v3 v3.1.6 h1:lGQWLyYD/DbNMC/MSpoP78cBgXg1cLNgA4X4ygbiPFA=
+github.com/opencord/voltha-lib-go/v3 v3.1.6/go.mod h1:s8rmoVjsI0qjOf7xJIh4VmUSxZLOn/XEiFAT3Amf3y4=
+github.com/opencord/voltha-protos/v3 v3.3.2 h1:a3PKf+jaiCD15iXpgL8dqW+WvfgiM0qv7mFA4nIJtH8=
+github.com/opencord/voltha-protos/v3 v3.3.2/go.mod h1:nl1ETp5Iw3avxOaKD8BJlYY5wYI4KeV95aT1pL63nto=
 github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
 github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
 github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
diff --git a/rw_core/core/adapter/manager.go b/rw_core/core/adapter/manager.go
index 015e32d..08c0e04 100644
--- a/rw_core/core/adapter/manager.go
+++ b/rw_core/core/adapter/manager.go
@@ -119,13 +119,13 @@
 	return nil
 }
 
-func (aMgr *Manager) updateLastAdapterCommunication(adapterID string, timestamp int64) {
+func (aMgr *Manager) updateLastAdapterCommunication(adapterID string, timestamp time.Time) {
 	aMgr.lockAdaptersMap.RLock()
 	adapterAgent, have := aMgr.adapterAgents[adapterID]
 	aMgr.lockAdaptersMap.RUnlock()
 
 	if have {
-		adapterAgent.updateCommunicationTime(time.Unix(timestamp/1000, timestamp%1000*1000))
+		adapterAgent.updateCommunicationTime(timestamp)
 	}
 }
 
diff --git a/rw_core/core/api/common_test.go b/rw_core/core/api/common_test.go
index f6f07f5..f9bb047 100644
--- a/rw_core/core/api/common_test.go
+++ b/rw_core/core/api/common_test.go
@@ -99,7 +99,7 @@
 
 func setupKVClient(cf *config.RWCoreFlags, coreInstanceID string) kvstore.Client {
 	addr := cf.KVStoreHost + ":" + strconv.Itoa(cf.KVStorePort)
-	client, err := kvstore.NewEtcdClient(addr, cf.KVStoreTimeout)
+	client, err := kvstore.NewEtcdClient(addr, cf.KVStoreTimeout, log.FatalLevel)
 	if err != nil {
 		panic("no kv client")
 	}
diff --git a/rw_core/core/device/agent_test.go b/rw_core/core/device/agent_test.go
index ce69599..60b7273 100755
--- a/rw_core/core/device/agent_test.go
+++ b/rw_core/core/device/agent_test.go
@@ -25,6 +25,7 @@
 	"github.com/opencord/voltha-lib-go/v3/pkg/db"
 	"github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
 	"github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+	"github.com/opencord/voltha-lib-go/v3/pkg/log"
 	mock_etcd "github.com/opencord/voltha-lib-go/v3/pkg/mocks/etcd"
 	mock_kafka "github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka"
 	ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
@@ -198,7 +199,7 @@
 
 func setupKVClient(cf *config.RWCoreFlags, coreInstanceID string) kvstore.Client {
 	addr := cf.KVStoreHost + ":" + strconv.Itoa(cf.KVStorePort)
-	client, err := kvstore.NewEtcdClient(addr, cf.KVStoreTimeout)
+	client, err := kvstore.NewEtcdClient(addr, cf.KVStoreTimeout, log.FatalLevel)
 	if err != nil {
 		panic("no kv client")
 	}
diff --git a/rw_core/main.go b/rw_core/main.go
index 32af37a..4d99fbb 100644
--- a/rw_core/main.go
+++ b/rw_core/main.go
@@ -57,7 +57,7 @@
 	case "consul":
 		return kvstore.NewConsulClient(address, timeout)
 	case "etcd":
-		return kvstore.NewEtcdClient(address, timeout)
+		return kvstore.NewEtcdClient(address, timeout, log.FatalLevel)
 	}
 	return nil, errors.New("unsupported-kv-store")
 }
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
index bbae0ed..cd5750f 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
@@ -18,7 +18,6 @@
 import (
 	"context"
 	"github.com/opencord/voltha-lib-go/v3/pkg/db"
-	"time"
 
 	"github.com/golang/protobuf/proto"
 	"github.com/golang/protobuf/ptypes"
@@ -79,7 +78,7 @@
 	} else {
 		header.Id = uuid.New().String()
 	}
-	header.Timestamp = time.Now().Unix()
+	header.Timestamp = ptypes.TimestampNow()
 	iaMsg := &ic.InterAdapterMessage{
 		Header: header,
 		Body:   marshalledMsg,
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/configmanager.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/configmanager.go
index 724ad32..0dafc7a 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/configmanager.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/configmanager.go
@@ -36,11 +36,12 @@
 
 const (
 	ConfigTypeLogLevel ConfigType = iota
+	ConfigTypeMetadata
 	ConfigTypeKafka
 )
 
 func (c ConfigType) String() string {
-	return [...]string{"loglevel", "kafka"}[c]
+	return [...]string{"loglevel", "metadata", "kafka"}[c]
 }
 
 // ChangeEvent represents the event recieved from watch
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/logcontroller.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/logcontroller.go
index 9c36241..b00569f 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/logcontroller.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/config/logcontroller.go
@@ -28,13 +28,15 @@
 	"errors"
 	"github.com/opencord/voltha-lib-go/v3/pkg/log"
 	"os"
+	"sort"
 	"strings"
 )
 
 const (
-	defaultLogLevelKey                = "default" // kvstore key containing default loglevel
-	globalConfigRootNode              = "global"  // Root Node in kvstore containing global config
-	initialGlobalDefaultLogLevelValue = "WARN"    // Hard-coded Global Default loglevel pushed at PoD startup
+	defaultLogLevelKey                = "default"          // kvstore key containing default loglevel
+	globalConfigRootNode              = "global"           // Root Node in kvstore containing global config
+	initialGlobalDefaultLogLevelValue = "WARN"             // Hard-coded Global Default loglevel pushed at PoD startup
+	logPackagesListKey                = "log_package_list" // kvstore key containing list of allowed log packages
 )
 
 // ComponentLogController represents a Configuration for Logging Config of specific Voltha component type
@@ -92,6 +94,8 @@
 
 	cc.persistInitialDefaultLogConfigs(ctx)
 
+	cc.persistRegisteredLogPackageList(ctx)
+
 	cc.processLogConfig(ctx)
 }
 
@@ -120,6 +124,28 @@
 	}
 }
 
+// Method to save list of all registered packages for component into config kvstore. A single string
+// is constructed with comma-separated package names in sorted order and persisted
+func (c *ComponentLogController) persistRegisteredLogPackageList(ctx context.Context) {
+
+	componentMetadataConfig := c.configManager.InitComponentConfig(c.ComponentName, ConfigTypeMetadata)
+	logger.Debugw("component-metadata-config", log.Fields{"component-metadata-config": componentMetadataConfig})
+
+	packageList := log.GetPackageNames()
+	packageList = append(packageList, defaultLogLevelKey)
+	sort.Strings(packageList)
+
+	packageNames, err := json.Marshal(packageList)
+	if err != nil {
+		logger.Errorw("failed-to-marshal-log-package-list-for-storage", log.Fields{"error": err, "packageList": packageList})
+		return
+	}
+
+	if err := componentMetadataConfig.Save(ctx, logPackagesListKey, string(packageNames)); err != nil {
+		logger.Errorw("failed-to-persist-component-registered-log-package-list-at-startup", log.Fields{"error": err, "packageNames": packageNames})
+	}
+}
+
 // ProcessLogConfig will first load and apply log config and then start waiting on component config and global config
 // channels for any changes. Event channel will be recieved from Backend for valid change type
 // Then data for componentn log config and global log config will be retrieved from Backend and stored in updatedLogConfig in precedence order
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
index faa86ed..55fda64 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
@@ -82,7 +82,7 @@
 	case "consul":
 		return kvstore.NewConsulClient(address, timeout)
 	case "etcd":
-		return kvstore.NewEtcdClient(address, timeout)
+		return kvstore.NewEtcdClient(address, timeout, log.WarnLevel)
 	}
 	return nil, errors.New("unsupported-kv-store")
 }
@@ -222,7 +222,7 @@
 	defer b.Unlock()
 
 	formattedPath := b.makePath(key)
-	logger.Debugw("putting-key", log.Fields{"key": key, "value": value, "path": formattedPath})
+	logger.Debugw("putting-key", log.Fields{"key": key, "path": formattedPath})
 
 	err := b.Client.Put(ctx, formattedPath, value)
 
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
index d38f0f6..90158bc 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
@@ -39,12 +39,14 @@
 }
 
 // NewEtcdClient returns a new client for the Etcd KV store
-func NewEtcdClient(addr string, timeout int) (*EtcdClient, error) {
+func NewEtcdClient(addr string, timeout int, level log.LogLevel) (*EtcdClient, error) {
 	duration := GetDuration(timeout)
+	logconfig := log.ConstructZapConfig(log.JSON, level, log.Fields{})
 
 	c, err := v3Client.New(v3Client.Config{
 		Endpoints:   []string{addr},
 		DialTimeout: duration,
+		LogConfig:   &logconfig,
 	})
 	if err != nil {
 		logger.Error(err)
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
index 9abad93..0919a0c 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
@@ -66,7 +66,7 @@
 	DeleteTopic(topic *Topic) error
 	Subscribe(topic *Topic, kvArgs ...*KVArg) (<-chan *ca.InterContainerMessage, error)
 	UnSubscribe(topic *Topic, ch <-chan *ca.InterContainerMessage) error
-	SubscribeForMetadata(func(fromTopic string, timestamp int64))
+	SubscribeForMetadata(func(fromTopic string, timestamp time.Time))
 	Send(msg interface{}, topic *Topic, keys ...string) error
 	SendLiveness() error
 	EnableLivenessChannel(enable bool) chan bool
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
index fc2334d..beda537 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
@@ -221,7 +221,7 @@
 		Type:      ic.MessageType_DEVICE_DISCOVERED,
 		FromTopic: kp.defaultTopic.Name,
 		ToTopic:   kp.deviceDiscoveryTopic.Name,
-		Timestamp: time.Now().UnixNano(),
+		Timestamp: ptypes.TimestampNow(),
 	}
 	body := &ic.DeviceDiscovered{
 		Id:         deviceId,
@@ -664,7 +664,7 @@
 		Type:      ic.MessageType_RESPONSE,
 		FromTopic: request.Header.ToTopic,
 		ToTopic:   request.Header.FromTopic,
-		Timestamp: time.Now().UnixNano(),
+		Timestamp: ptypes.TimestampNow(),
 	}
 	responseBody := &ic.InterContainerResponseBody{
 		Success: false,
@@ -694,7 +694,7 @@
 		FromTopic: request.Header.ToTopic,
 		ToTopic:   request.Header.FromTopic,
 		KeyTopic:  request.Header.KeyTopic,
-		Timestamp: time.Now().UnixNano(),
+		Timestamp: ptypes.TimestampNow(),
 	}
 
 	// Go over all returned values
@@ -934,7 +934,7 @@
 		FromTopic: replyTopic.Name,
 		ToTopic:   toTopic.Name,
 		KeyTopic:  key,
-		Timestamp: time.Now().UnixNano(),
+		Timestamp: ptypes.TimestampNow(),
 	}
 	requestBody := &ic.InterContainerRequestBody{
 		Rpc:              rpc,
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
index deb72fd..468e546 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
@@ -27,6 +27,7 @@
 	scc "github.com/bsm/sarama-cluster"
 	"github.com/eapache/go-resiliency/breaker"
 	"github.com/golang/protobuf/proto"
+	"github.com/golang/protobuf/ptypes"
 	"github.com/google/uuid"
 	"github.com/opencord/voltha-lib-go/v3/pkg/log"
 	ic "github.com/opencord/voltha-protos/v3/go/inter_container"
@@ -68,7 +69,7 @@
 	numReplicas                   int
 	autoCreateTopic               bool
 	doneCh                        chan int
-	metadataCallback              func(fromTopic string, timestamp int64)
+	metadataCallback              func(fromTopic string, timestamp time.Time)
 	topicToConsumerChannelMap     map[string]*consumerChannels
 	lockTopicToConsumerChannelMap sync.RWMutex
 	topicLockMap                  map[string]*sync.RWMutex
@@ -461,7 +462,7 @@
 	return err
 }
 
-func (sc *SaramaClient) SubscribeForMetadata(callback func(fromTopic string, timestamp int64)) {
+func (sc *SaramaClient) SubscribeForMetadata(callback func(fromTopic string, timestamp time.Time)) {
 	sc.metadataCallback = callback
 }
 
@@ -917,7 +918,8 @@
 	sc.lockTopicToConsumerChannelMap.RUnlock()
 
 	if callback := sc.metadataCallback; callback != nil {
-		callback(protoMessage.Header.FromTopic, protoMessage.Header.Timestamp)
+		ts, _ := ptypes.Timestamp(protoMessage.Header.Timestamp)
+		callback(protoMessage.Header.FromTopic, ts)
 	}
 }
 
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
index d0169bd..6b7087f 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
@@ -232,6 +232,10 @@
 	}
 }
 
+func ConstructZapConfig(outputType string, level LogLevel, fields Fields) zp.Config {
+	return getDefaultConfig(outputType, level, fields)
+}
+
 // SetLogger needs to be invoked before the logger API can be invoked.  This function
 // initialize the default logger (zap's sugaredlogger)
 func SetDefaultLogger(outputType string, level LogLevel, defaultFields Fields) (Logger, error) {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka/kafka_client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka/kafka_client.go
index 5922ce2..7c5508b 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka/kafka_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka/kafka_client.go
@@ -18,6 +18,7 @@
 import (
 	"fmt"
 	"sync"
+	"time"
 
 	"github.com/opencord/voltha-lib-go/v3/pkg/kafka"
 	"github.com/opencord/voltha-lib-go/v3/pkg/log"
@@ -111,7 +112,7 @@
 	return nil
 }
 
-func (kc *KafkaClient) SubscribeForMetadata(_ func(fromTopic string, timestamp int64)) {
+func (kc *KafkaClient) SubscribeForMetadata(_ func(fromTopic string, timestamp time.Time)) {
 	logger.Debug("SubscribeForMetadata - unimplemented")
 }
 
diff --git a/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
index cfb521b..0fddbae 100644
--- a/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
@@ -7,6 +7,7 @@
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
 	any "github.com/golang/protobuf/ptypes/any"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
 	common "github.com/opencord/voltha-protos/v3/go/common"
 	openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
 	voltha "github.com/opencord/voltha-protos/v3/go/voltha"
@@ -532,15 +533,15 @@
 }
 
 type Header struct {
-	Id                   string      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Type                 MessageType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.MessageType" json:"type,omitempty"`
-	FromTopic            string      `protobuf:"bytes,3,opt,name=from_topic,json=fromTopic,proto3" json:"from_topic,omitempty"`
-	ToTopic              string      `protobuf:"bytes,4,opt,name=to_topic,json=toTopic,proto3" json:"to_topic,omitempty"`
-	KeyTopic             string      `protobuf:"bytes,5,opt,name=key_topic,json=keyTopic,proto3" json:"key_topic,omitempty"`
-	Timestamp            int64       `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+	Id                   string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Type                 MessageType          `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.MessageType" json:"type,omitempty"`
+	FromTopic            string               `protobuf:"bytes,3,opt,name=from_topic,json=fromTopic,proto3" json:"from_topic,omitempty"`
+	ToTopic              string               `protobuf:"bytes,4,opt,name=to_topic,json=toTopic,proto3" json:"to_topic,omitempty"`
+	KeyTopic             string               `protobuf:"bytes,5,opt,name=key_topic,json=keyTopic,proto3" json:"key_topic,omitempty"`
+	Timestamp            *timestamp.Timestamp `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
 }
 
 func (m *Header) Reset()         { *m = Header{} }
@@ -603,11 +604,11 @@
 	return ""
 }
 
-func (m *Header) GetTimestamp() int64 {
+func (m *Header) GetTimestamp() *timestamp.Timestamp {
 	if m != nil {
 		return m.Timestamp
 	}
-	return 0
+	return nil
 }
 
 type Argument struct {
@@ -1001,7 +1002,7 @@
 	ToTopic              string                        `protobuf:"bytes,4,opt,name=to_topic,json=toTopic,proto3" json:"to_topic,omitempty"`
 	ToDeviceId           string                        `protobuf:"bytes,5,opt,name=to_device_id,json=toDeviceId,proto3" json:"to_device_id,omitempty"`
 	ProxyDeviceId        string                        `protobuf:"bytes,6,opt,name=proxy_device_id,json=proxyDeviceId,proto3" json:"proxy_device_id,omitempty"`
-	Timestamp            int64                         `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+	Timestamp            *timestamp.Timestamp          `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
 	XXX_unrecognized     []byte                        `json:"-"`
 	XXX_sizecache        int32                         `json:"-"`
@@ -1074,11 +1075,11 @@
 	return ""
 }
 
-func (m *InterAdapterHeader) GetTimestamp() int64 {
+func (m *InterAdapterHeader) GetTimestamp() *timestamp.Timestamp {
 	if m != nil {
 		return m.Timestamp
 	}
-	return 0
+	return nil
 }
 
 type InterAdapterOmciMessage struct {
@@ -1463,89 +1464,90 @@
 }
 
 var fileDescriptor_941f0031a549667f = []byte{
-	// 1335 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcb, 0x6e, 0xdb, 0x46,
-	0x17, 0x8e, 0xee, 0xd2, 0x91, 0xad, 0x28, 0xe3, 0x38, 0x96, 0xed, 0x5c, 0xfc, 0xf3, 0x4f, 0x93,
-	0x34, 0x69, 0x65, 0xd4, 0x41, 0x51, 0x64, 0xd5, 0xca, 0x12, 0x13, 0x13, 0x90, 0x25, 0x95, 0x92,
-	0x93, 0xa2, 0x28, 0x40, 0xd0, 0xe4, 0x58, 0x22, 0x4c, 0x71, 0x98, 0xe1, 0xd0, 0x29, 0x37, 0x05,
-	0xba, 0xeb, 0x4b, 0x14, 0xe8, 0xaa, 0x8f, 0x50, 0xa0, 0x6f, 0x57, 0xcc, 0x85, 0x12, 0xa5, 0xc4,
-	0x0d, 0x90, 0xee, 0x38, 0xe7, 0xfb, 0xe6, 0x9c, 0xe1, 0xb9, 0x7c, 0x33, 0xf0, 0xff, 0x2b, 0xe2,
-	0xb3, 0x99, 0x6d, 0x85, 0x94, 0x30, 0x12, 0x1d, 0x7a, 0x01, 0xc3, 0xd4, 0x72, 0x48, 0xc0, 0x6c,
-	0x2f, 0xc0, 0xb4, 0x2d, 0xcc, 0xa8, 0x2c, 0x49, 0x7b, 0x7b, 0xab, 0x64, 0x87, 0xcc, 0xe7, 0x24,
-	0x90, 0x9c, 0x75, 0x4c, 0xae, 0x14, 0xb6, 0x3b, 0x25, 0x64, 0xea, 0xe3, 0x43, 0xb1, 0x3a, 0x8f,
-	0x2f, 0x0e, 0xed, 0x20, 0x51, 0xd0, 0x83, 0xd5, 0x6d, 0x24, 0xc4, 0xc1, 0x85, 0x4f, 0xde, 0x59,
-	0x5f, 0x3d, 0x57, 0x04, 0x6d, 0x95, 0xe0, 0x93, 0xa9, 0xe7, 0xd8, 0xbe, 0xe5, 0xe2, 0x2b, 0xcf,
-	0xc1, 0x92, 0xa3, 0xed, 0x43, 0x65, 0xcc, 0xe8, 0x24, 0x09, 0x31, 0x6a, 0x42, 0xe1, 0xca, 0xf6,
-	0x5b, 0xb9, 0x83, 0xdc, 0x93, 0x9a, 0xc9, 0x3f, 0x39, 0x68, 0x04, 0x6c, 0x1d, 0x2c, 0x48, 0xf0,
-	0x2e, 0x54, 0x8f, 0x09, 0xf1, 0xd7, 0xd1, 0xaa, 0x44, 0x35, 0x28, 0x8f, 0x6c, 0xe7, 0x12, 0x33,
-	0xd4, 0x82, 0x4a, 0x68, 0x27, 0x3e, 0xb1, 0x5d, 0x81, 0x6f, 0x98, 0xe9, 0x52, 0xfb, 0x09, 0x6a,
-	0x3a, 0xa5, 0x84, 0x76, 0x89, 0x8b, 0xb5, 0x21, 0x94, 0x1c, 0xe2, 0xe2, 0x08, 0xed, 0xc0, 0xd6,
-	0xd9, 0x60, 0x7c, 0x36, 0x1a, 0x0d, 0xcd, 0x89, 0xde, 0xb3, 0x4c, 0xfd, 0xfb, 0x33, 0x7d, 0x3c,
-	0x69, 0xde, 0x40, 0x77, 0x00, 0x19, 0x83, 0xd7, 0x9d, 0xbe, 0xd1, 0xb3, 0x46, 0x1d, 0xb3, 0x73,
-	0xaa, 0x4f, 0x74, 0x73, 0xdc, 0xcc, 0xa1, 0x6d, 0xb8, 0xd5, 0xd3, 0x3b, 0xbd, 0xbe, 0x31, 0xd0,
-	0x2d, 0xfd, 0x87, 0xae, 0xae, 0xf7, 0xf4, 0x5e, 0x33, 0xaf, 0xf5, 0xa1, 0x24, 0xbc, 0xa3, 0x67,
-	0x50, 0xe4, 0x9e, 0x45, 0xf4, 0xc6, 0xd1, 0x4e, 0x5b, 0xe5, 0x77, 0x11, 0xba, 0x2d, 0xe2, 0x9a,
-	0x82, 0x84, 0xee, 0x40, 0x99, 0x62, 0x3b, 0x22, 0x41, 0x2b, 0x2f, 0xf2, 0xa0, 0x56, 0xda, 0x5f,
-	0x39, 0x28, 0x9f, 0x60, 0xdb, 0xc5, 0x14, 0x35, 0x20, 0xef, 0xb9, 0x2a, 0x4d, 0x79, 0xcf, 0x45,
-	0x8f, 0xa1, 0xc8, 0x92, 0x10, 0x8b, 0x0d, 0x8d, 0xa3, 0xad, 0xd4, 0xff, 0x29, 0x8e, 0x22, 0x7b,
-	0x8a, 0x79, 0x7e, 0x4c, 0x41, 0x40, 0xf7, 0x00, 0x2e, 0x28, 0x99, 0x5b, 0x8c, 0x84, 0x9e, 0xd3,
-	0x2a, 0x08, 0x07, 0x35, 0x6e, 0x99, 0x70, 0x03, 0xda, 0x85, 0x2a, 0x23, 0x0a, 0x2c, 0x0a, 0xb0,
-	0xc2, 0x88, 0x84, 0xf6, 0xa1, 0x76, 0x89, 0x13, 0x85, 0x95, 0x04, 0x56, 0xbd, 0xc4, 0x89, 0x04,
-	0xef, 0x42, 0x8d, 0x79, 0x73, 0x1c, 0x31, 0x7b, 0x1e, 0xb6, 0xca, 0xa2, 0x40, 0x4b, 0x83, 0x76,
-	0x02, 0xd5, 0x0e, 0x9d, 0xc6, 0x73, 0x1c, 0x30, 0x5e, 0xa6, 0x4b, 0x9c, 0xa4, 0x15, 0xbe, 0xc4,
-	0x09, 0x7a, 0x0a, 0xa5, 0x2b, 0xdb, 0x8f, 0xe5, 0xe1, 0xeb, 0x47, 0xb7, 0xdb, 0xb2, 0xdd, 0xda,
-	0x69, 0xbb, 0xb5, 0x3b, 0x41, 0x62, 0x4a, 0x8a, 0xe6, 0xc1, 0xb6, 0xc1, 0x7b, 0xbc, 0x9b, 0xb6,
-	0xb8, 0xfa, 0x43, 0xf4, 0x08, 0xca, 0x33, 0x91, 0x1a, 0xe1, 0xb9, 0x7e, 0xd4, 0x48, 0x53, 0x20,
-	0x13, 0x66, 0x2a, 0x14, 0x3d, 0x81, 0xe2, 0x39, 0x71, 0x93, 0x7f, 0x8d, 0x25, 0x18, 0xda, 0x9f,
-	0x39, 0xd8, 0x5d, 0x8d, 0x65, 0xe2, 0xb7, 0x31, 0x8e, 0xd8, 0x31, 0x71, 0x13, 0xfe, 0x1b, 0x34,
-	0x74, 0x54, 0x81, 0xf8, 0x27, 0x7a, 0x08, 0x45, 0x9b, 0x4e, 0xa3, 0x56, 0xe1, 0xa0, 0xf0, 0xa4,
-	0x7e, 0xd4, 0x4c, 0xe3, 0xa7, 0x3f, 0x6e, 0x0a, 0x14, 0x3d, 0x83, 0x5b, 0x14, 0x47, 0x21, 0x09,
-	0x22, 0x6c, 0x51, 0xfc, 0x36, 0xf6, 0x28, 0x76, 0x45, 0xa6, 0xab, 0x66, 0x33, 0x05, 0x4c, 0x65,
-	0x47, 0x0f, 0xa1, 0x41, 0x71, 0xe8, 0xf3, 0xa4, 0xaf, 0xe4, 0x7d, 0x43, 0x58, 0x27, 0xb2, 0x30,
-	0x9a, 0x0b, 0x7b, 0xeb, 0xe7, 0x94, 0x7e, 0xc4, 0x41, 0x5b, 0x50, 0x89, 0x62, 0xc7, 0xc1, 0x51,
-	0xa4, 0x46, 0x23, 0x5d, 0xa2, 0x2f, 0x78, 0x9b, 0x45, 0xb1, 0xcf, 0x44, 0x1b, 0x5c, 0x97, 0x0c,
-	0xc5, 0xd1, 0x7e, 0xcb, 0x41, 0x73, 0xfc, 0xce, 0x63, 0xce, 0xac, 0x6b, 0x87, 0xf6, 0xb9, 0xe7,
-	0x7b, 0x2c, 0x41, 0x9f, 0x43, 0xd1, 0xc5, 0x91, 0xa3, 0x72, 0xbe, 0xdd, 0xce, 0xce, 0x3f, 0xb9,
-	0x08, 0x2d, 0x0e, 0x9a, 0x82, 0x82, 0x0c, 0xb8, 0x19, 0x89, 0xed, 0xd6, 0x05, 0xb6, 0x59, 0x4c,
-	0x71, 0xa4, 0x6a, 0x70, 0xf0, 0xde, 0xae, 0x35, 0x9e, 0xd9, 0x90, 0x86, 0x97, 0x6a, 0xad, 0xbd,
-	0x80, 0xc6, 0x88, 0x50, 0x96, 0x39, 0xc7, 0x63, 0x28, 0x86, 0x84, 0x32, 0x75, 0x8e, 0x45, 0xfb,
-	0xf7, 0xa5, 0xda, 0x70, 0xb2, 0x29, 0x08, 0xda, 0x2f, 0xd0, 0xec, 0x09, 0xe9, 0xe9, 0x79, 0x91,
-	0x43, 0xae, 0x30, 0xcf, 0xf2, 0xfa, 0x2c, 0xed, 0x43, 0x2d, 0xb4, 0x29, 0x0e, 0x98, 0xe5, 0xb9,
-	0xaa, 0xc0, 0x55, 0x69, 0x30, 0x5c, 0xf4, 0x00, 0xea, 0x52, 0xbb, 0x2c, 0x31, 0x6f, 0x72, 0x80,
-	0x40, 0x9a, 0x84, 0x0c, 0xdd, 0x85, 0x5a, 0x18, 0x9f, 0xfb, 0x5e, 0x34, 0xc3, 0x54, 0x8d, 0xd0,
-	0xd2, 0xa0, 0xfd, 0x9e, 0x87, 0x1d, 0x51, 0xac, 0x8e, 0x6b, 0x87, 0x6c, 0xd1, 0xbe, 0x7c, 0xa7,
-	0xf6, 0x6b, 0x1e, 0x4a, 0xfc, 0x23, 0x42, 0x4d, 0xd8, 0x78, 0xd9, 0x1f, 0xbe, 0xc9, 0xe8, 0xce,
-	0x2d, 0xd8, 0x54, 0x96, 0xf1, 0x68, 0x38, 0x18, 0xeb, 0xcd, 0x1c, 0x27, 0x0d, 0x4f, 0xbb, 0xc6,
-	0x82, 0x94, 0xe7, 0x24, 0x65, 0x51, 0xa4, 0x02, 0xda, 0x82, 0x9b, 0xa7, 0xfa, 0xc4, 0x34, 0xba,
-	0xe3, 0x05, 0xaf, 0x88, 0x6e, 0x43, 0x73, 0x69, 0x54, 0xd4, 0x12, 0xa7, 0x0e, 0x07, 0x67, 0x96,
-	0x31, 0x58, 0xea, 0x5d, 0x99, 0x53, 0x97, 0x46, 0x45, 0xad, 0xa0, 0xff, 0xc1, 0xbd, 0x89, 0xde,
-	0x3d, 0xb1, 0x46, 0xe6, 0xf0, 0xa5, 0xd1, 0xd7, 0xad, 0xde, 0xf0, 0xcd, 0xa0, 0x3f, 0xec, 0x2c,
-	0x37, 0x56, 0xd1, 0x3e, 0xec, 0xf4, 0xf4, 0xbe, 0x3e, 0xd1, 0xad, 0x57, 0xfa, 0xa9, 0xc5, 0x75,
-	0x74, 0x01, 0xd6, 0x50, 0x0b, 0x6e, 0x2b, 0x70, 0xd2, 0x1d, 0x0e, 0x96, 0x08, 0xf0, 0x1c, 0xa0,
-	0x6c, 0x7e, 0xae, 0x91, 0xbb, 0x17, 0x2b, 0x72, 0xf7, 0x59, 0x5a, 0xef, 0x6b, 0x32, 0xdb, 0x16,
-	0x59, 0xfd, 0xcf, 0x02, 0x78, 0x00, 0x1b, 0x8c, 0xa8, 0x9b, 0x8b, 0xb7, 0x86, 0x9c, 0x45, 0x60,
-	0x44, 0x76, 0x94, 0xe1, 0xa2, 0x47, 0x70, 0x33, 0xa4, 0xe4, 0xe7, 0x24, 0x43, 0x2a, 0x0b, 0xd2,
-	0xa6, 0x30, 0x2f, 0x78, 0x2b, 0x6a, 0x59, 0x59, 0x57, 0xcb, 0xbf, 0x73, 0xab, 0x3d, 0x32, 0x9c,
-	0x3b, 0x5e, 0x2a, 0x73, 0x2d, 0xa8, 0xcc, 0xe5, 0x67, 0x7a, 0x91, 0xa9, 0x25, 0x3a, 0x86, 0x86,
-	0x43, 0x82, 0x00, 0x3b, 0xcc, 0x8a, 0x98, 0xcd, 0xe2, 0x48, 0x25, 0x67, 0xbf, 0xad, 0xee, 0xf9,
-	0xae, 0x44, 0xc7, 0x02, 0x54, 0x29, 0xd9, 0x74, 0xb2, 0x46, 0xf4, 0x1d, 0xc8, 0x83, 0x5a, 0xb6,
-	0xeb, 0x52, 0xae, 0x18, 0x52, 0x18, 0xf6, 0xd3, 0xfc, 0xca, 0x1f, 0x68, 0x8f, 0x38, 0xa7, 0x23,
-	0x29, 0xe6, 0x46, 0x98, 0x59, 0x69, 0x63, 0x78, 0x94, 0x3d, 0xfa, 0x04, 0x3b, 0xb3, 0x11, 0x25,
-	0x17, 0x9e, 0x8f, 0x7b, 0xe4, 0x5d, 0xc0, 0x6f, 0xdc, 0xf4, 0x4f, 0xb6, 0xa1, 0x1c, 0x07, 0x9e,
-	0xa5, 0xca, 0xba, 0x69, 0x96, 0xe2, 0xc0, 0x33, 0x5c, 0x84, 0xa0, 0x18, 0xda, 0x6c, 0xa6, 0xe6,
-	0x4e, 0x7c, 0x6b, 0x14, 0x0e, 0xb2, 0x4e, 0x7b, 0xd8, 0xc7, 0x0c, 0xbf, 0xc2, 0x73, 0x3e, 0xd7,
-	0x1f, 0x71, 0xb7, 0x03, 0x15, 0x16, 0x5a, 0x19, 0x8f, 0x65, 0x16, 0x8e, 0x6c, 0x36, 0x43, 0xf7,
-	0xa1, 0x3e, 0xc5, 0x73, 0x8b, 0x8b, 0x02, 0xdf, 0x54, 0x10, 0x9b, 0x6a, 0x53, 0xe9, 0xd4, 0x70,
-	0xb5, 0x4b, 0xb8, 0xff, 0x7e, 0xcc, 0x09, 0x7f, 0x59, 0x7d, 0x6a, 0xc4, 0x5d, 0xa8, 0xda, 0xbe,
-	0x4f, 0x9c, 0x65, 0xb8, 0x8a, 0x58, 0x1b, 0xae, 0xf6, 0x47, 0x0e, 0x5a, 0xd9, 0x68, 0x2b, 0x02,
-	0x7e, 0x07, 0xca, 0xaa, 0xa0, 0x52, 0xbf, 0xd5, 0x0a, 0x3d, 0xfd, 0xf8, 0x4d, 0x76, 0x72, 0x43,
-	0xde, 0x65, 0xe8, 0x6b, 0x28, 0x92, 0xb9, 0xe3, 0xa9, 0x7a, 0x3e, 0xf8, 0xd0, 0xbc, 0x64, 0xba,
-	0x8c, 0x6f, 0xe3, 0xf4, 0xe3, 0xda, 0xe2, 0xd9, 0xa4, 0x45, 0xb0, 0xf5, 0x81, 0xe9, 0x42, 0x47,
-	0x6b, 0xd7, 0xee, 0xde, 0x87, 0x5c, 0x7f, 0xea, 0x15, 0xfc, 0xf4, 0x5b, 0xa8, 0x67, 0xc6, 0x18,
-	0xd5, 0xa1, 0xb2, 0x54, 0xc4, 0x0d, 0xa8, 0x66, 0xc4, 0x50, 0xbc, 0xbf, 0x5e, 0x1b, 0x5d, 0xdd,
-	0xea, 0x19, 0xe3, 0xee, 0xf0, 0xb5, 0x6e, 0xf2, 0xf7, 0xd7, 0xf1, 0x00, 0xb6, 0x08, 0x9d, 0x8a,
-	0x0b, 0xc6, 0x21, 0xd4, 0x55, 0x87, 0xfb, 0xf1, 0x9b, 0xa9, 0xc7, 0x66, 0xf1, 0x39, 0x9f, 0x8c,
-	0xc3, 0x14, 0x53, 0x4f, 0xde, 0x2f, 0xd3, 0x07, 0xf0, 0xf3, 0xc3, 0x29, 0x59, 0x7f, 0x4f, 0x8f,
-	0x6e, 0x8c, 0x72, 0xa3, 0xe2, 0x79, 0x59, 0x70, 0x9e, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xd4,
-	0x59, 0x12, 0xf3, 0x7d, 0x0b, 0x00, 0x00,
+	// 1353 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x5d, 0x6f, 0xdb, 0x36,
+	0x17, 0xae, 0xbf, 0xed, 0xe3, 0xc4, 0x75, 0x99, 0xa6, 0x71, 0x92, 0x7e, 0xe4, 0xd5, 0xdb, 0xb5,
+	0x59, 0xbb, 0x39, 0x98, 0x8b, 0x61, 0xeb, 0xd5, 0xe6, 0xd8, 0x6a, 0x23, 0xc0, 0xb1, 0x3d, 0xd9,
+	0x69, 0x87, 0x61, 0x80, 0xa0, 0x48, 0x8c, 0x2d, 0x44, 0x16, 0x55, 0x8a, 0x4e, 0xa7, 0x9b, 0x01,
+	0xbb, 0xdb, 0x9f, 0x18, 0xb0, 0xab, 0xfd, 0x87, 0xfd, 0x8d, 0xfd, 0xa2, 0x81, 0x1f, 0xb2, 0x65,
+	0xb7, 0x59, 0xb1, 0xee, 0x8e, 0x3c, 0xcf, 0xc3, 0x73, 0xc8, 0x73, 0x78, 0x1e, 0x12, 0xfe, 0x7f,
+	0x45, 0x7c, 0x36, 0xb5, 0xad, 0x90, 0x12, 0x46, 0xa2, 0x23, 0x2f, 0x60, 0x98, 0x5a, 0x0e, 0x09,
+	0x98, 0xed, 0x05, 0x98, 0x36, 0x85, 0x19, 0x15, 0x25, 0x69, 0x6f, 0x6f, 0x95, 0xec, 0x90, 0xd9,
+	0x8c, 0x04, 0x92, 0xb3, 0x8e, 0xc9, 0x99, 0xc2, 0x76, 0x27, 0x84, 0x4c, 0x7c, 0x7c, 0x24, 0x66,
+	0xe7, 0xf3, 0x8b, 0x23, 0x3b, 0x88, 0x15, 0xf4, 0x60, 0x75, 0x19, 0x09, 0x71, 0x70, 0xe1, 0x93,
+	0xb7, 0xd6, 0x17, 0xcf, 0x14, 0x41, 0x5b, 0x25, 0xf8, 0x64, 0xe2, 0x39, 0xb6, 0x6f, 0xb9, 0xf8,
+	0xca, 0x73, 0x70, 0xe2, 0x64, 0xdd, 0x3f, 0xf3, 0x66, 0x38, 0x62, 0xf6, 0x2c, 0x94, 0x04, 0x6d,
+	0x1f, 0x4a, 0x23, 0x46, 0xc7, 0x71, 0x88, 0x51, 0x1d, 0x72, 0x57, 0xb6, 0xdf, 0xc8, 0x1c, 0x64,
+	0x0e, 0x2b, 0x26, 0x1f, 0x72, 0xd0, 0x08, 0xd8, 0x3a, 0x98, 0x93, 0xe0, 0x5d, 0x28, 0x1f, 0x13,
+	0xe2, 0xaf, 0xa3, 0x65, 0x89, 0x6a, 0x50, 0x1c, 0xda, 0xce, 0x25, 0x66, 0xa8, 0x01, 0xa5, 0xd0,
+	0x8e, 0x7d, 0x62, 0xbb, 0x02, 0xdf, 0x30, 0x93, 0xa9, 0xf6, 0x23, 0x54, 0x74, 0x4a, 0x09, 0xed,
+	0x10, 0x17, 0x6b, 0x03, 0x28, 0x38, 0xc4, 0xc5, 0x11, 0xda, 0x81, 0xad, 0xb3, 0xfe, 0xe8, 0x6c,
+	0x38, 0x1c, 0x98, 0x63, 0xbd, 0x6b, 0x99, 0xfa, 0x77, 0x67, 0xfa, 0x68, 0x5c, 0xbf, 0x81, 0xee,
+	0x00, 0x32, 0xfa, 0xaf, 0xda, 0x3d, 0xa3, 0x6b, 0x0d, 0xdb, 0x66, 0xfb, 0x54, 0x1f, 0xeb, 0xe6,
+	0xa8, 0x9e, 0x41, 0xdb, 0x70, 0xab, 0xab, 0xb7, 0xbb, 0x3d, 0xa3, 0xaf, 0x5b, 0xfa, 0xf7, 0x1d,
+	0x5d, 0xef, 0xea, 0xdd, 0x7a, 0x56, 0xeb, 0x41, 0x41, 0x78, 0x47, 0x4f, 0x21, 0xcf, 0x3d, 0x8b,
+	0xe8, 0xb5, 0xd6, 0x4e, 0x53, 0x15, 0x60, 0x11, 0xba, 0x29, 0xe2, 0x9a, 0x82, 0x84, 0xee, 0x40,
+	0x91, 0x62, 0x3b, 0x22, 0x41, 0x23, 0x2b, 0xf2, 0xa0, 0x66, 0xda, 0x5f, 0x19, 0x28, 0x9e, 0x60,
+	0xdb, 0xc5, 0x14, 0xd5, 0x20, 0xeb, 0xb9, 0x2a, 0x4d, 0x59, 0xcf, 0x45, 0x8f, 0x21, 0xcf, 0xe2,
+	0x10, 0x8b, 0x05, 0xb5, 0xd6, 0x56, 0xe2, 0xff, 0x14, 0x47, 0x91, 0x3d, 0xc1, 0x3c, 0x3f, 0xa6,
+	0x20, 0xa0, 0x7b, 0x00, 0x17, 0x94, 0xcc, 0x2c, 0x46, 0x42, 0xcf, 0x69, 0xe4, 0x84, 0x83, 0x0a,
+	0xb7, 0x8c, 0xb9, 0x01, 0xed, 0x42, 0x99, 0x11, 0x05, 0xe6, 0x05, 0x58, 0x62, 0x44, 0x42, 0xfb,
+	0x50, 0xb9, 0xc4, 0xb1, 0xc2, 0x0a, 0x02, 0x2b, 0x5f, 0xe2, 0x58, 0x82, 0x5f, 0x43, 0x65, 0x51,
+	0xd5, 0x46, 0xf1, 0x20, 0x73, 0x58, 0x6d, 0xed, 0x35, 0x65, 0xdd, 0x9b, 0x49, 0xdd, 0x9b, 0xe3,
+	0x84, 0x61, 0x2e, 0xc9, 0xda, 0x09, 0x94, 0xdb, 0x74, 0x32, 0x9f, 0xe1, 0x80, 0xf1, 0x12, 0x5e,
+	0xe2, 0x38, 0xa9, 0xfe, 0x25, 0x8e, 0xd1, 0x13, 0x28, 0x5c, 0xd9, 0xfe, 0x5c, 0x1e, 0xac, 0xda,
+	0xba, 0xfd, 0x8e, 0xcf, 0x76, 0x10, 0x9b, 0x92, 0xa2, 0x79, 0xb0, 0x6d, 0xf0, 0x06, 0xe9, 0x24,
+	0xfd, 0xa1, 0x4e, 0x8f, 0x1e, 0x41, 0x71, 0x2a, 0xd2, 0x26, 0x3c, 0x57, 0x5b, 0xb5, 0x24, 0x3d,
+	0x32, 0x99, 0xa6, 0x42, 0xd1, 0x21, 0xe4, 0xcf, 0x89, 0x1b, 0xff, 0x63, 0x2c, 0xc1, 0xd0, 0xfe,
+	0xc8, 0xc0, 0xee, 0x6a, 0x2c, 0x13, 0xbf, 0x99, 0xe3, 0x88, 0x1d, 0x13, 0x37, 0xe6, 0xc7, 0xa0,
+	0xa1, 0xa3, 0x8a, 0xc7, 0x87, 0xe8, 0x21, 0xe4, 0x6d, 0x3a, 0x89, 0x1a, 0xb9, 0x83, 0xdc, 0x61,
+	0xb5, 0x55, 0x4f, 0xe2, 0x27, 0x07, 0x37, 0x05, 0x8a, 0x9e, 0xc2, 0x2d, 0x8a, 0xa3, 0x90, 0x04,
+	0x11, 0xb6, 0x28, 0x7e, 0x33, 0xf7, 0x28, 0x76, 0x45, 0x15, 0xca, 0x66, 0x3d, 0x01, 0x4c, 0x65,
+	0x47, 0x0f, 0xa1, 0x46, 0x71, 0xe8, 0xf3, 0x82, 0xac, 0xd4, 0x64, 0x43, 0x58, 0xc7, 0xb2, 0x68,
+	0x9a, 0x0b, 0x7b, 0xeb, 0xfb, 0x94, 0x7e, 0xc4, 0x46, 0x1b, 0x50, 0x8a, 0xe6, 0x8e, 0x83, 0xa3,
+	0x48, 0xb5, 0x4d, 0x32, 0x45, 0x9f, 0xf1, 0x2b, 0x18, 0xcd, 0x7d, 0x26, 0xae, 0xc8, 0x75, 0xc9,
+	0x50, 0x1c, 0xed, 0xd7, 0x0c, 0xd4, 0x47, 0x6f, 0x3d, 0xe6, 0x4c, 0x3b, 0x76, 0x68, 0x9f, 0x7b,
+	0xbe, 0xc7, 0x62, 0xf4, 0x29, 0xe4, 0x5d, 0x1c, 0x39, 0x2a, 0xe7, 0xdb, 0xcd, 0xb4, 0x78, 0x90,
+	0x8b, 0xd0, 0xe2, 0xa0, 0x29, 0x28, 0xc8, 0x80, 0x9b, 0x91, 0x58, 0x6e, 0x5d, 0x60, 0x9b, 0xcd,
+	0x29, 0x8e, 0x54, 0x0d, 0x0e, 0xde, 0x59, 0xb5, 0xc6, 0x33, 0x6b, 0xd2, 0xf0, 0x42, 0xcd, 0xb5,
+	0xe7, 0x50, 0x1b, 0x12, 0xca, 0x52, 0xfb, 0x78, 0x0c, 0xf9, 0x90, 0x50, 0xa6, 0xf6, 0xb1, 0x68,
+	0x8d, 0x9e, 0x94, 0x2a, 0x4e, 0x36, 0x05, 0x41, 0xfb, 0x19, 0xea, 0x5d, 0xa1, 0x5b, 0x5d, 0x2f,
+	0x72, 0xc8, 0x15, 0xe6, 0x59, 0x5e, 0xef, 0xb3, 0x7d, 0xa8, 0x84, 0x36, 0xc5, 0x01, 0xb3, 0x3c,
+	0x57, 0x15, 0xb8, 0x2c, 0x0d, 0x86, 0x8b, 0x1e, 0x40, 0x55, 0x0a, 0x9f, 0x25, 0x7a, 0x51, 0x36,
+	0x17, 0x48, 0x93, 0x90, 0xa8, 0xbb, 0x50, 0x09, 0xe7, 0xe7, 0xbe, 0x17, 0x4d, 0x31, 0x55, 0xed,
+	0xb5, 0x34, 0x68, 0xbf, 0x65, 0x61, 0x47, 0x14, 0xab, 0xed, 0xda, 0x21, 0x5b, 0x5c, 0x5f, 0xbe,
+	0x52, 0xfb, 0x25, 0x0b, 0x05, 0x3e, 0x88, 0x50, 0x1d, 0x36, 0x5e, 0xf4, 0x06, 0xaf, 0x53, 0x9a,
+	0x74, 0x0b, 0x36, 0x95, 0x65, 0x34, 0x1c, 0xf4, 0x47, 0x7a, 0x3d, 0xc3, 0x49, 0x83, 0xd3, 0x8e,
+	0xb1, 0x20, 0x65, 0x39, 0x49, 0x59, 0x14, 0x29, 0x87, 0xb6, 0xe0, 0xe6, 0xa9, 0x3e, 0x36, 0x8d,
+	0xce, 0x68, 0xc1, 0xcb, 0xa3, 0xdb, 0x50, 0x5f, 0x1a, 0x15, 0xb5, 0xc0, 0xa9, 0x83, 0xfe, 0x99,
+	0x65, 0xf4, 0x97, 0x5a, 0x58, 0xe4, 0xd4, 0xa5, 0x51, 0x51, 0x4b, 0xe8, 0x7f, 0x70, 0x6f, 0xac,
+	0x77, 0x4e, 0xac, 0xa1, 0x39, 0x78, 0x61, 0xf4, 0x74, 0xab, 0x3b, 0x78, 0xdd, 0xef, 0x0d, 0xda,
+	0xcb, 0x85, 0x65, 0xb4, 0x0f, 0x3b, 0x5d, 0xbd, 0xa7, 0x8f, 0x75, 0xeb, 0xa5, 0x7e, 0x6a, 0x71,
+	0x8d, 0x5d, 0x80, 0x15, 0xd4, 0x80, 0xdb, 0x0a, 0x1c, 0x77, 0x06, 0xfd, 0x25, 0x02, 0x3c, 0x3f,
+	0x28, 0x9d, 0x9f, 0x6b, 0xa4, 0xf0, 0xf9, 0x8a, 0x14, 0x7e, 0x92, 0xd4, 0xfb, 0x9a, 0xcc, 0x36,
+	0x45, 0x56, 0xff, 0xb3, 0x38, 0x1e, 0xc0, 0x06, 0x23, 0xea, 0xd9, 0xe3, 0x57, 0x43, 0xf6, 0x22,
+	0x30, 0x22, 0x6f, 0x94, 0xe1, 0xa2, 0x47, 0x70, 0x33, 0xa4, 0xe4, 0xa7, 0x38, 0x45, 0x2a, 0x0a,
+	0xd2, 0xa6, 0x30, 0x2f, 0x78, 0x2b, 0x4a, 0x5a, 0xfa, 0x37, 0x4a, 0xfa, 0x67, 0x66, 0xf5, 0xfe,
+	0x0c, 0x66, 0x8e, 0x97, 0x48, 0x60, 0x03, 0x4a, 0x33, 0x39, 0x4c, 0x1e, 0x40, 0x35, 0x45, 0xc7,
+	0x50, 0x73, 0x48, 0x10, 0x60, 0x87, 0x59, 0x11, 0xb3, 0xd9, 0x3c, 0x52, 0x89, 0xdb, 0x6f, 0xaa,
+	0x0f, 0x44, 0x47, 0xa2, 0x23, 0x01, 0xaa, 0x74, 0x6d, 0x3a, 0x69, 0x23, 0xfa, 0x16, 0xe4, 0x21,
+	0x2c, 0xdb, 0x75, 0x29, 0x57, 0x13, 0x29, 0x1a, 0xfb, 0x49, 0xee, 0xe5, 0xe1, 0x9a, 0x43, 0xce,
+	0x69, 0x4b, 0x8a, 0xb9, 0x11, 0xa6, 0x66, 0xda, 0x08, 0x1e, 0xa5, 0xb7, 0x3e, 0xc6, 0xce, 0x74,
+	0x48, 0xc9, 0x85, 0xe7, 0xe3, 0x2e, 0x79, 0x1b, 0xf0, 0x97, 0x3a, 0x39, 0xc9, 0x36, 0x14, 0xe7,
+	0x81, 0x67, 0xa9, 0x92, 0x6f, 0x9a, 0x85, 0x79, 0xe0, 0x19, 0x2e, 0x42, 0x90, 0x0f, 0x6d, 0x36,
+	0x55, 0x3d, 0x29, 0xc6, 0x1a, 0x85, 0x83, 0xb4, 0xd3, 0x2e, 0xf6, 0x31, 0xc3, 0x2f, 0xf1, 0x8c,
+	0xf7, 0xfc, 0x07, 0xdc, 0xed, 0x40, 0x89, 0x85, 0x56, 0xca, 0x63, 0x91, 0x85, 0x43, 0x9b, 0x4d,
+	0xd1, 0x7d, 0xa8, 0x4e, 0xf0, 0xcc, 0xe2, 0x82, 0xc1, 0x17, 0xe5, 0xc4, 0xa2, 0xca, 0x44, 0x3a,
+	0x35, 0x5c, 0xed, 0x12, 0xee, 0xbf, 0x1b, 0x73, 0xcc, 0xbf, 0x6c, 0x1f, 0x1b, 0x71, 0x17, 0xca,
+	0xb6, 0xef, 0x13, 0x67, 0x19, 0xae, 0x24, 0xe6, 0x86, 0xab, 0xfd, 0x9e, 0x81, 0x46, 0x3a, 0xda,
+	0x8a, 0xb8, 0xdf, 0x81, 0xa2, 0x2a, 0xa8, 0xd4, 0x76, 0x35, 0x43, 0x4f, 0x3e, 0xfc, 0xca, 0x9d,
+	0xdc, 0x90, 0xef, 0x1c, 0xfa, 0x12, 0xf2, 0x64, 0xe6, 0x78, 0xaa, 0x9e, 0x0f, 0xde, 0xd7, 0x4b,
+	0xa9, 0x5b, 0xc6, 0x97, 0x71, 0xfa, 0x71, 0x65, 0xf1, 0xdd, 0xd2, 0x22, 0xd8, 0x7a, 0x4f, 0xe7,
+	0xa1, 0xd6, 0xda, 0x93, 0xbc, 0xf7, 0x3e, 0xd7, 0x1f, 0xfb, 0x3c, 0x3f, 0xf9, 0x06, 0xaa, 0xa9,
+	0x16, 0x47, 0x55, 0x28, 0x2d, 0xd5, 0x72, 0x03, 0xca, 0x29, 0xa1, 0x14, 0xff, 0xb6, 0x57, 0x46,
+	0x47, 0xb7, 0xba, 0xc6, 0xa8, 0x33, 0x78, 0xa5, 0x9b, 0xfc, 0xdf, 0x76, 0xdc, 0x87, 0x2d, 0x42,
+	0x27, 0xe2, 0xf1, 0x71, 0x08, 0x75, 0xd5, 0xe6, 0x7e, 0xf8, 0x6a, 0xe2, 0xb1, 0xe9, 0xfc, 0x9c,
+	0x77, 0xc6, 0x51, 0x82, 0xa9, 0xbf, 0xf4, 0xe7, 0xc9, 0xcf, 0xfa, 0xd9, 0xd1, 0x84, 0xac, 0x7f,
+	0xd4, 0x87, 0x37, 0x86, 0x99, 0x61, 0xfe, 0xbc, 0x28, 0x38, 0xcf, 0xfe, 0x0e, 0x00, 0x00, 0xff,
+	0xff, 0x2f, 0x48, 0xfa, 0x76, 0xd6, 0x0b, 0x00, 0x00,
 }
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 8bd422c..b11313d 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -99,7 +99,7 @@
 github.com/modern-go/concurrent
 # github.com/modern-go/reflect2 v1.0.1
 github.com/modern-go/reflect2
-# github.com/opencord/voltha-lib-go/v3 v3.1.2
+# github.com/opencord/voltha-lib-go/v3 v3.1.6
 github.com/opencord/voltha-lib-go/v3/pkg/adapters
 github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif
 github.com/opencord/voltha-lib-go/v3/pkg/adapters/common
@@ -114,7 +114,7 @@
 github.com/opencord/voltha-lib-go/v3/pkg/mocks/kafka
 github.com/opencord/voltha-lib-go/v3/pkg/probe
 github.com/opencord/voltha-lib-go/v3/pkg/version
-# github.com/opencord/voltha-protos/v3 v3.3.0
+# github.com/opencord/voltha-protos/v3 v3.3.2
 github.com/opencord/voltha-protos/v3/go/common
 github.com/opencord/voltha-protos/v3/go/inter_container
 github.com/opencord/voltha-protos/v3/go/omci