diff --git a/features/features.xml b/features/features.xml
index 6eabccb..53383f5 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -47,9 +47,9 @@
         <bundle>mvn:com.esotericsoftware/minlog/1.3.0</bundle>
         <bundle>mvn:org.objenesis/objenesis/2.2</bundle>
 
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.7.3</bundle>
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.3</bundle>
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.7.3</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.8.6</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.8.6</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.8.6</bundle>
 
         <bundle>mvn:commons-configuration/commons-configuration/1.10</bundle>
         <bundle>mvn:commons-collections/commons-collections/3.2.2</bundle>
diff --git a/lib/BUCK b/lib/BUCK
index e3b31a7..49d68ae 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu Feb 02 13:19:29 PST 2017. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri Feb 03 11:48:32 KST 2017. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom( 
@@ -416,28 +416,28 @@
 
 remote_jar (
   name = 'jackson-annotations',
-  out = 'jackson-annotations-2.7.3.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.7.3',
-  sha1 = 'e250c11c1329c7b6b62442a9743befad78be553c',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-annotations:2.7.3',
+  out = 'jackson-annotations-2.8.6.jar',
+  url = 'mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.8.6',
+  sha1 = '9577018f9ce3636a2e1cb0a0c7fe915e5098ded5',
+  maven_coords = 'com.fasterxml.jackson.core:jackson-annotations:2.8.6',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'jackson-core',
-  out = 'jackson-core-2.7.3.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-core:jar:2.7.3',
-  sha1 = '1499b854ae9f370409792db5af1b552dc7d9682f',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-core:2.7.3',
+  out = 'jackson-core-2.8.6.jar',
+  url = 'mvn:com.fasterxml.jackson.core:jackson-core:jar:2.8.6',
+  sha1 = '2ef7b1cc34de149600f5e75bc2d5bf40de894e60',
+  maven_coords = 'com.fasterxml.jackson.core:jackson-core:2.8.6',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'jackson-databind',
-  out = 'jackson-databind-2.7.3.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.7.3',
-  sha1 = 'f12e6cd05cbaecd74d16e685d45b627732939e42',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-databind:2.7.3',
+  out = 'jackson-databind-2.8.6.jar',
+  url = 'mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.8.6',
+  sha1 = 'c43de61f74ecc61322ef8f402837ba65b0aa2bf4',
+  maven_coords = 'com.fasterxml.jackson.core:jackson-databind:2.8.6',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index da87794..abc43d7 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -120,9 +120,9 @@
     "httpclient-osgi": "mvn:org.apache.httpcomponents:httpclient-osgi:4.5.1",
     "httpcore-osgi": "mvn:org.apache.httpcomponents:httpcore-osgi:4.4.4",
     "influxdb-java": "mvn:org.influxdb:influxdb-java:2.2",
-    "jackson-annotations": "mvn:com.fasterxml.jackson.core:jackson-annotations:2.7.3",
-    "jackson-core": "mvn:com.fasterxml.jackson.core:jackson-core:2.7.3",
-    "jackson-databind": "mvn:com.fasterxml.jackson.core:jackson-databind:2.7.3",
+    "jackson-annotations": "mvn:com.fasterxml.jackson.core:jackson-annotations:2.8.6",
+    "jackson-core": "mvn:com.fasterxml.jackson.core:jackson-core:2.8.6",
+    "jackson-databind": "mvn:com.fasterxml.jackson.core:jackson-databind:2.8.6",
     "javax.annotation-api": "mvn:javax.annotation:javax.annotation-api:1.2",
     "javax.inject": "mvn:org.glassfish.hk2.external:javax.inject:2.5.0-b30",
     "javax.ws.rs-api": "mvn:javax.ws.rs:javax.ws.rs-api:2.0.1",
diff --git a/lib/pom.xml b/lib/pom.xml
index 17e50ab..58cfd80 100644
--- a/lib/pom.xml
+++ b/lib/pom.xml
@@ -47,7 +47,7 @@
         <osgi.version>5.0.0</osgi.version>
         <karaf.version>3.0.8</karaf.version>
         <jersey.version>2.25</jersey.version>
-        <jackson.version>2.7.3</jackson.version>
+        <jackson.version>2.8.6</jackson.version>
         <slf4j.version>1.7.21</slf4j.version>
         <guava.version>19.0</guava.version>
         <commons.io.version>2.4</commons.io.version>
diff --git a/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java b/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java
index 77853a3..070808f 100644
--- a/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java
+++ b/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java
@@ -18,6 +18,7 @@
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufInputStream;
 
+import java.io.DataInput;
 import java.io.IOException;
 import java.util.List;
 import java.util.Stack;
@@ -96,7 +97,7 @@
 
             if (jrContext.isStartMatch() && bufStack.isEmpty()) {
                 ByteBuf buf = in.readSlice(i - in.readerIndex() + 1);
-                JsonParser jf = new MappingJsonFactory().createParser(new ByteBufInputStream(buf));
+                JsonParser jf = new MappingJsonFactory().createParser((DataInput) new ByteBufInputStream(buf));
                 JsonNode jsonNode = jf.readValueAsTree();
                 out.add(jsonNode);
                 lastReadBytes = 0;
diff --git a/tools/package/archetypes/rest/src/main/resources/archetype-resources/pom.xml b/tools/package/archetypes/rest/src/main/resources/archetype-resources/pom.xml
index 785f043..ac2c512 100644
--- a/tools/package/archetypes/rest/src/main/resources/archetype-resources/pom.xml
+++ b/tools/package/archetypes/rest/src/main/resources/archetype-resources/pom.xml
@@ -108,13 +108,13 @@
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
-            <version>2.7.3</version>
+            <version>2.8.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-annotations</artifactId>
-            <version>2.7.3</version>
+            <version>2.8.6</version>
             <scope>provided</scope>
         </dependency>
 
diff --git a/tools/package/maven-plugin/pom.xml b/tools/package/maven-plugin/pom.xml
index 8c770cf..2d36c86 100644
--- a/tools/package/maven-plugin/pom.xml
+++ b/tools/package/maven-plugin/pom.xml
@@ -79,12 +79,12 @@
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
-            <version>2.7.3</version>
+            <version>2.8.6</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-annotations</artifactId>
-            <version>2.7.3</version>
+            <version>2.8.6</version>
         </dependency>
         <dependency>
             <groupId>commons-io</groupId>
