diff --git a/gnmiserver/model.go b/gnmiserver/model.go
index bfaa6fc2f1531629c09ff47083b294ac762844d9..eac83a76127adeb6293edb8ae8f3584112647a61 100644
--- a/gnmiserver/model.go
+++ b/gnmiserver/model.go
@@ -26,7 +26,7 @@ import (
 )
 
 // JSONUnmarshaler is the signature of the Unmarshal() function in the GoStruct code generated by openconfig ygot library.
-type JSONUnmarshaler func([]byte, ygot.GoStruct, ...ytypes.UnmarshalOpt) error
+type JSONUnmarshaler func([]byte, ygot.ValidatedGoStruct, ...ytypes.UnmarshalOpt) error
 
 // GoStructEnumData is the data type to maintain GoStruct enum type.
 type GoStructEnumData map[string]map[int64]ygot.EnumDefinition
@@ -65,7 +65,7 @@ func (m *Model) NewConfigStruct(jsonConfig []byte) (ygot.ValidatedGoStruct, erro
 		if err := m.jsonUnmarshaler(jsonConfig, rootStruct); err != nil {
 			return nil, err
 		}
-		if err := rootStruct.Validate(); err != nil {
+		if err := rootStruct.ΛValidate(); err != nil {
 			return nil, err
 		}
 	}
@@ -80,4 +80,4 @@ func (m *Model) SupportedModels() []string {
 	}
 	sort.Strings(mDesc)
 	return mDesc
-}
\ No newline at end of file
+}
diff --git a/gnmiserver/server.go b/gnmiserver/server.go
index ddb7c9ef7df72884a0f27061c13c2de21cc21670..b28077ad9b62d04ae250a26bf51e050c15cd8704 100644
--- a/gnmiserver/server.go
+++ b/gnmiserver/server.go
@@ -193,7 +193,7 @@ func (s *Server) doReplaceOrUpdate(jsonTree map[string]interface{}, op pb.Update
 		if err := s.model.jsonUnmarshaler(val.GetJsonIetfVal(), nodeStruct); err != nil {
 			return nil, status.Errorf(codes.InvalidArgument, "unmarshaling json data to config struct fails: %v", err)
 		}
-		if err := nodeStruct.Validate(); err != nil {
+		if err := nodeStruct.ΛValidate(); err != nil {
 			return nil, status.Errorf(codes.InvalidArgument, "config data validation fails: %v", err)
 		}
 		var err error
@@ -479,7 +479,7 @@ func (s *Server) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse,
 
 		ts := time.Now().UnixNano()
 
-		nodeStruct, ok := node.(ygot.GoStruct)
+		nodeStruct, ok := node.(ygot.ValidatedGoStruct)
 		// Return leaf node.
 		if !ok {
 			var val *pb.TypedValue
diff --git a/go.mod b/go.mod
index 381bdb998d778dde04cabf06610fd458347f789a..93e878fa3688dbb8a1f4a6dc761a98c8ee28f0cc 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.18
 require (
 	github.com/golang/glog v1.0.0
 	github.com/golang/protobuf v1.5.2
-	github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d
+	github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13
 	github.com/openconfig/goyang v1.0.0
 	github.com/openconfig/ygot v0.18.1
 	github.com/sirupsen/logrus v1.8.1
diff --git a/go.sum b/go.sum
index aee791470b6ba2fe590fbbe7c97cbd0854eec799..89806953b7ac6ddf695df5c80f4a865c07b235d5 100644
--- a/go.sum
+++ b/go.sum
@@ -217,6 +217,8 @@ github.com/openconfig/gnmi v0.0.0-20200414194230-1597cc0f2600/go.mod h1:M/EcuapN
 github.com/openconfig/gnmi v0.0.0-20200508230933-d19cebf5e7be/go.mod h1:M/EcuapNQgvzxo1DDXHK4tx3QpYM/uG4l591v33jG2A=
 github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d h1:ENKx1I2+/8C70C69qGDw8zfHXFsPnSMtZyf9F2GjN/k=
 github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d/go.mod h1:h365Ifq35G6kLZDQlRvrccTt2LKK90VpjZLMNGxJRYc=
+github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13 h1:6MHJ6YxMDr/dhS4mnM3sZxmolqgJw36ibOtwXNHTo6M=
+github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13/go.mod h1:h365Ifq35G6kLZDQlRvrccTt2LKK90VpjZLMNGxJRYc=
 github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU=
 github.com/openconfig/goyang v0.2.2/go.mod h1:vX61x01Q46AzbZUzG617vWqh/cB+aisc+RrNkXRd3W8=
 github.com/openconfig/goyang v1.0.0 h1:nYaFu7BOAk/eQn4CgAUjgYPfp3J6CdXrBryp32E5CjI=