diff --git a/WORKSPACE b/WORKSPACE
index a1f5382..4810fff 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,8 +1,10 @@
 load("//tools/build/bazel:generate_workspace.bzl", "generated_maven_jars")
 load("//tools/build/bazel:p4lang_workspace.bzl", "generate_p4lang")
+load("//tools/build/bazel:grpc_workspace.bzl", "generate_grpc")
 
 generated_maven_jars()
 generate_p4lang()
+generate_grpc()
 
 git_repository(
         name = "build_bazel_rules_nodejs",
diff --git a/protocols/p4runtime/proto/BUILD b/protocols/p4runtime/proto/BUILD
index fe82bb3..11eed2f 100644
--- a/protocols/p4runtime/proto/BUILD
+++ b/protocols/p4runtime/proto/BUILD
@@ -1,7 +1,7 @@
 load("//tools/build/bazel:osgi_java_library.bzl", "wrapped_osgi_jar")
 
 java_proto_library(
-    name = "p4_runtime_java_proto",
+    name = "p4_runtime_java_proto_proto",
     visibility = ["//visibility:public"],
     deps = ["@p4lang_pi//:p4_runtime_proto"],
 )
@@ -13,12 +13,21 @@
     deps = CORE_DEPS + ["@protobuf_java_3_2_0//jar"],
 )
 
+
 wrapped_osgi_jar(
-    name = "p4_runtime_java_proto-osgi",
-    jar = ":p4_runtime_java_proto",
+    name = "grpc-core-repkg-1.3.1",
+    jar = "@grpc_src_zip_131//:grpc-core-repkg-1.3.1-native",
+    visibility = ["//visibility:public"],
+    deps = COMPILE,
+)
+
+wrapped_osgi_jar(
+    name = "p4_runtime_java_proto",
+    jar = ":p4_runtime_java_proto_proto",
     visibility = ["//visibility:public"],
     deps = CORE_DEPS + [
         "@protobuf_java_3_2_0//jar",
         "@google_rpc//:rpc_java_proto",
+        ":grpc-core-repkg-1.3.1",
     ],
 )
diff --git a/tools/build/bazel/grpc_BUILD b/tools/build/bazel/grpc_BUILD
new file mode 100644
index 0000000..24795da
--- /dev/null
+++ b/tools/build/bazel/grpc_BUILD
@@ -0,0 +1,44 @@
+"""
+ Copyright 2018-present Open Networking Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+
+"""
+    Bazel build file for GRPC java binaries. This build file is injected into the GRPC source tree to allow
+    ONOS to build it. Published binaries of the GRPC library split the definition of the io.grpc
+    package across multiple jar files. This renders them unusable in an OSGI environment, so
+    ONOS builds its own libraries here.
+"""
+
+GRPC_COMPILE = [
+    "@google_errorprone_2_0_19//jar",
+    "@google_instrumentation_0_3_0//jar",
+    "@guava//jar",
+    "@javax_annotation_api//jar",
+    "@jsr305//jar",
+    "@junit//jar",
+]
+
+java_library(
+    name = "grpc-core-repkg-1.3.1-native",
+    srcs = glob(
+        [
+            "context/src/main/java/**/*.java",
+            "core/src/main/java/**/*.java",
+        ],
+    ),
+    visibility = ["//visibility:public"],
+    deps = GRPC_COMPILE,
+)
diff --git a/tools/build/bazel/grpc_workspace.bzl b/tools/build/bazel/grpc_workspace.bzl
new file mode 100644
index 0000000..826d304
--- /dev/null
+++ b/tools/build/bazel/grpc_workspace.bzl
@@ -0,0 +1,92 @@
+"""
+ Copyright 2018-present Open Networking Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+
+"""
+    Workspace to build GRPC java binaries. please see the injected bazel build file
+    grpc_BUILD for additional information.
+"""
+
+def generate_grpc():
+    native.new_http_archive(
+        name = "grpc_src_zip_131",
+        urls = ["https://github.com/grpc/grpc-java/archive/v1.3.1.zip"],
+        sha256 = "c529b4c2d80a6df8ddc0aa25d7599e46ffcd155cb67122513f8fb536cd96eca4",
+        build_file = "//tools/build/bazel:grpc_BUILD",
+        strip_prefix = "grpc-java-1.3.1",
+    )
+
+def generated_maven_jars():
+    native.maven_jar(
+        name = "guava",
+        artifact = "com.google.guava:guava:22.0",
+        sha1 = "3564ef3803de51fb0530a8377ec6100b33b0d073",
+    )
+
+    native.maven_jar(
+        name = "google_instrumentation_0_3_0",
+        artifact = "com.google.instrumentation:instrumentation-api:0.3.0",
+        sha1 = "a2e145e7a7567c6372738f5c5a6f3ba6407ac354",
+    )
+
+    native.maven_jar(
+        name = "javax_annotation_api",
+        artifact = "javax.annotation:javax.annotation-api:1.2",
+        sha1 = "479c1e06db31c432330183f5cae684163f186146",
+    )
+
+    native.maven_jar(
+        name = "jsr305",
+        artifact = "com.google.code.findbugs:jsr305:3.0.1",
+        sha1 = "f7be08ec23c21485b9b5a1cf1654c2ec8c58168d",
+    )
+
+    native.java_library(
+        name = "google_errorprone_2_0_19",
+        visibility = ["//visibility:public"],
+        exports = ["@google_errorprone_2_0_19//jar"],
+    )
+
+def generated_java_libraries():
+    native.java_library(
+        name = "guava",
+        visibility = ["//visibility:public"],
+        exports = ["@guava//jar"],
+    )
+
+    native.java_library(
+        name = "google_instrumentation_0_3_0",
+        visibility = ["//visibility:public"],
+        exports = ["@google_instrumentation_0_3_0//jar"],
+    )
+
+    native.java_library(
+        name = "javax_annotation_api",
+        visibility = ["//visibility:public"],
+        exports = ["@javax_annotation_api//jar"],
+    )
+
+    native.java_library(
+        name = "jsr305",
+        visibility = ["//visibility:public"],
+        exports = ["@jsr305//jar"],
+    )
+
+    native.java_library(
+        name = "google_errorprone_2_0_19",
+        visibility = ["//visibility:public"],
+        exports = ["@google_errorprone_2_0_19//jar"],
+    )
