Update gNMI version and build script

Change-Id: I0f2d3c84a7a13111dc5da966b21836338d327929
diff --git a/tools/build/bazel/gnmi_BUILD b/tools/build/bazel/gnmi_BUILD
new file mode 100644
index 0000000..43cb693
--- /dev/null
+++ b/tools/build/bazel/gnmi_BUILD
@@ -0,0 +1,17 @@
+proto_library(
+    name = "gnmi_proto",
+    srcs = ["gnmi/gnmi.proto"],
+    deps = [
+        ":gnmi_ext_proto",
+        "@com_google_protobuf//:descriptor_proto",
+        "@com_google_protobuf//:any_proto",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+
+proto_library(
+    name = "gnmi_ext_proto",
+    srcs = ["gnmi_ext/gnmi_ext.proto"],
+    visibility = ["//visibility:public"],
+)
diff --git a/tools/build/bazel/gnmi_workspace.bzl b/tools/build/bazel/gnmi_workspace.bzl
new file mode 100644
index 0000000..6b0d4db
--- /dev/null
+++ b/tools/build/bazel/gnmi_workspace.bzl
@@ -0,0 +1,16 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+# FIXME: Currently gNMI proto file uses incorrect path to import "gnmi_ext.proto"
+#        Temporary use patch from ONF before gNMI team fix it.
+
+GNMI_COMMIT = "onos"
+GNMI_SHA = "0c4d5f168cb142f8135171204dac3ff8840a147f51fa361079f42fa585bec2ce"
+
+def generate_gnmi():
+    http_archive(
+        name = "com_github_openconfig_gnmi",
+        urls = ["https://github.com/opennetworkinglab/gnmi/archive/%s.zip" % GNMI_COMMIT],
+        sha256 = GNMI_SHA,
+        strip_prefix = "gnmi-%s/proto" % GNMI_COMMIT,
+        build_file = "//tools/build/bazel:gnmi_BUILD",
+    )