diff --git a/BUILD b/BUILD
index 31383aa..81cd843 100644
--- a/BUILD
+++ b/BUILD
@@ -15,6 +15,8 @@
         "//incubator/net:onos-incubator-net",
         "//protocols/openflow/api:onos-protocols-openflow-api-osgi",
         "//drivers/default:onos-drivers-default-osgi",
+        "//protocols/p4runtime/api:onos-protocols-p4runtime-api-osgi",
+        "//protocols/p4runtime/model:onos-protocols-p4runtime-model-osgi",
         #"//core/net:onos-core-net-osgi",
     ],
 )
diff --git a/WORKSPACE b/WORKSPACE
index e86cb0d..1a47662 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,4 +1,6 @@
 load("//tools/build/bazel:generate_workspace.bzl", "generated_maven_jars")
+load("//tools/build/bazel:p4lang_workspace.bzl", "generate_p4lang")
 generated_maven_jars()
+generate_p4lang()
 
 ONOS_VERSION = '1.14.0-SNAPSHOT'
diff --git a/protocols/p4runtime/api/BUILD b/protocols/p4runtime/api/BUILD
index 50a0624..4b86e7f 100644
--- a/protocols/p4runtime/api/BUILD
+++ b/protocols/p4runtime/api/BUILD
@@ -1,14 +1,14 @@
-GRPC_VER = "1.3.1"
+GRPC_VER = "1_3_1"
 
 COMPILE_DEPS = CORE_DEPS + [
-    #    '@grpc//jar',
+    "@grpc_core_" + GRPC_VER + "//jar",
 ]
 
 TEST_DEPS = TEST + [
     "//core/api:onos-api-tests",
 ]
 
-#osgi_jar_with_tests (
-#    deps = COMPILE_DEPS,
-#    test_deps = TEST_DEPS,
-#)
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+)
diff --git a/protocols/p4runtime/model/BUILD b/protocols/p4runtime/model/BUILD
index 39c314e..5fa75cd 100644
--- a/protocols/p4runtime/model/BUILD
+++ b/protocols/p4runtime/model/BUILD
@@ -1,10 +1,11 @@
 PROTOBUF_VER = "3_2_0"
 
 COMPILE_DEPS = CORE_DEPS + [
-    #'//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
-    #'@grpc_protobuf_' + PROTOBUF_VER + "//jar",
+    "//protocols/p4runtime/proto:p4_runtime_java_proto",
+    "//protocols/p4runtime/proto:p4_config_java_proto",
+    "@com_google_protobuf//:protobuf_java",
 ]
 
-#osgi_jar_with_tests (
-#    deps = COMPILE_DEPS,
-#)
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
diff --git a/protocols/p4runtime/proto/BUILD b/protocols/p4runtime/proto/BUILD
new file mode 100644
index 0000000..2a6d5f5
--- /dev/null
+++ b/protocols/p4runtime/proto/BUILD
@@ -0,0 +1,24 @@
+java_proto_library(
+    name = "p4_types_java_proto",
+    deps = [ "@p4lang_pi//:p4types_proto" ],
+    visibility = ["//visibility:public"],
+)
+
+java_proto_library(
+    name = "p4_config_java_proto",
+    deps = [ "@p4lang_pi//:p4config_proto" ],
+    visibility = ["//visibility:public"],
+)
+
+java_proto_library(
+    name = "p4_tmp_config_java_proto",
+    deps = [ "@p4lang_pi//:p4_tmp_config_proto" ],
+    visibility = ["//visibility:public"],
+)
+
+java_proto_library(
+    name = "p4_runtime_java_proto",
+    deps = [ "@p4lang_pi//:p4_runtime_proto" ],
+    visibility = ["//visibility:public"],
+)
+
diff --git a/tools/build/bazel/google_RPC_BUILD b/tools/build/bazel/google_RPC_BUILD
new file mode 100644
index 0000000..698693b
--- /dev/null
+++ b/tools/build/bazel/google_RPC_BUILD
@@ -0,0 +1,17 @@
+package(default_visibility = ["//visibility:public"])
+
+proto_library(
+    name = "status_proto",
+    srcs = [ "//:google/rpc/status.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+    ],
+)
+
+proto_library(
+    name = "code_proto",
+    srcs = [ "//:google/rpc/code.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+    ],
+)
diff --git a/tools/build/bazel/osgi-java-library.bzl b/tools/build/bazel/osgi-java-library.bzl
index e47c3d7..c3ed9b3 100644
--- a/tools/build/bazel/osgi-java-library.bzl
+++ b/tools/build/bazel/osgi-java-library.bzl
@@ -36,6 +36,9 @@
 
     # determine the dependencies and build the class path
     for dep in ctx.attr.deps:
+        if len(dep.java.outputs.jars) == 0:
+            continue
+
         file = dep.java.outputs.jars[0].class_jar
 
         if cp:
diff --git a/tools/build/bazel/p4lang_BUILD b/tools/build/bazel/p4lang_BUILD
new file mode 100644
index 0000000..52d7082
--- /dev/null
+++ b/tools/build/bazel/p4lang_BUILD
@@ -0,0 +1,40 @@
+package(default_visibility = ["//visibility:public"])
+
+proto_library(
+    name = "p4types_proto",
+    srcs = [ "//:p4/p4types.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+    ],
+)
+
+proto_library(
+    name = "p4config_proto",
+    srcs = [ "//:p4/config/p4info.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+        ":p4types_proto",
+    ],
+)
+
+proto_library(
+    name = "p4_tmp_config_proto",
+    srcs = [ "//:p4/tmp/p4config.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+        ":p4types_proto",
+    ],
+)
+
+proto_library(
+    name = "p4_runtime_proto",
+    srcs = [ "//:p4/p4runtime.proto" ],
+    deps = [
+        "@com_google_protobuf//:any_proto",
+        "@google_rpc//:status_proto",
+        "@google_rpc//:code_proto",
+        ":p4types_proto",
+        ":p4config_proto",
+        ":p4_tmp_config_proto",
+    ],
+)
\ No newline at end of file
diff --git a/tools/build/bazel/p4lang_workspace.bzl b/tools/build/bazel/p4lang_workspace.bzl
new file mode 100644
index 0000000..03b4e40
--- /dev/null
+++ b/tools/build/bazel/p4lang_workspace.bzl
@@ -0,0 +1,36 @@
+GITHUB_BASE_URL = "https://github.com"
+
+PI_COMMIT_SHORT = "219b3d6"
+PI_COMMIT = "219b3d67299ec09b49f433d7341049256ab5f512"
+PI_REPO = "p4lang/PI"
+
+GOOGLE_RPC_COMMIT_SHORT = "932f273"
+GOOGLE_RPC_COMMIT = "master"
+GOOGLE_RPC_REPO = "googleapis/googleapis"
+
+def _format_github_url(repo, commit):
+    return GITHUB_BASE_URL + "/{0}/tarball/{1}".format(repo, commit)
+
+def generate_p4lang():
+    native.http_archive(
+        name = "com_google_protobuf",
+        sha256 = "cef7f1b5a7c5fba672bec2a319246e8feba471f04dcebfe362d55930ee7c1c30",
+        strip_prefix = "protobuf-3.5.0",
+        urls = ["https://github.com/google/protobuf/archive/v3.5.0.zip"],
+    )
+
+    native.new_http_archive(
+        name = "p4lang_pi",
+        urls = [_format_github_url(PI_REPO, PI_COMMIT)],
+        build_file = "//tools/build/bazel:p4lang_BUILD",
+        strip_prefix = "p4lang-PI-" + PI_COMMIT_SHORT + "/proto",
+        type = "tar.gz",
+    )
+
+    native.new_http_archive(
+        name = "google_rpc",
+        urls = [_format_github_url(GOOGLE_RPC_REPO, GOOGLE_RPC_COMMIT)],
+        build_file = "//tools/build/bazel:google_RPC_BUILD",
+        strip_prefix = "googleapis-googleapis-" + GOOGLE_RPC_COMMIT_SHORT,
+        type = "tar.gz",
+    )
diff --git a/tools/build_rules/prelude_bazel b/tools/build_rules/prelude_bazel
index 138126c..2662c07 100644
--- a/tools/build_rules/prelude_bazel
+++ b/tools/build_rules/prelude_bazel
@@ -1,7 +1,7 @@
 load("//tools/build/bazel:generate_workspace.bzl",
         "generated_java_libraries", "COMPILE", "CORE_DEPS", "JACKSON",
-        "TEST_ADAPTERS", "TEST", "TEST_REST", "METRICS", "KRYO", "NETTY")
+        "TEST_ADAPTERS", "TEST", "TEST_REST", "METRICS", "KRYO", "NETTY", "GRPC_1_3")
 
-load("//tools/build/bazel:osgi-java-library.bzl", "osgi_jar_with_tests", "osgi_jar")
+load("//tools/build/bazel:osgi-java-library.bzl", "osgi_jar_with_tests", "osgi_jar", "wrapped_osgi_library")
 
 generated_java_libraries()
