[ONOS-3284]Types added Spi, SI and context header

Change-Id: Ib29d90d401c390d4ff5ac06e17507f2ffbb70f12
diff --git a/drivers/src/main/java/org/onosproject/driver/extensions/NiciraSetNshSpi.java b/drivers/src/main/java/org/onosproject/driver/extensions/NiciraSetNshSpi.java
index 1a47173..72eef0d 100644
--- a/drivers/src/main/java/org/onosproject/driver/extensions/NiciraSetNshSpi.java
+++ b/drivers/src/main/java/org/onosproject/driver/extensions/NiciraSetNshSpi.java
@@ -16,13 +16,15 @@
 
 package org.onosproject.driver.extensions;
 
-import com.google.common.base.MoreObjects;
+import java.util.Objects;
+
 import org.onlab.util.KryoNamespace;
+import org.onosproject.net.NshServicePathId;
 import org.onosproject.net.flow.AbstractExtension;
 import org.onosproject.net.flow.instructions.ExtensionTreatment;
 import org.onosproject.net.flow.instructions.ExtensionTreatmentType;
 
-import java.util.Objects;
+import com.google.common.base.MoreObjects;
 
 /**
  * Nicira set NSH SPI extension instruction.
@@ -30,7 +32,7 @@
 public class NiciraSetNshSpi extends AbstractExtension implements
         ExtensionTreatment {
 
-    private int nshSpi;
+    private NshServicePathId nshSpi;
 
     private final KryoNamespace appKryo = new KryoNamespace.Builder().build();
 
@@ -38,24 +40,24 @@
      * Creates a new set nsh spi instruction.
      */
     NiciraSetNshSpi() {
-        nshSpi = 0;
+        nshSpi = NshServicePathId.of(0);
     }
 
     /**
      * Creates a new set nsh spi instruction with given spi.
      *
-     * @param nshSpi nsh service path index
+     * @param nshSpi nsh service path id
      */
-    NiciraSetNshSpi(int nshSpi) {
+    NiciraSetNshSpi(NshServicePathId nshSpi) {
         this.nshSpi = nshSpi;
     }
 
     /**
-     * Gets the nsh service path index.
+     * Gets the nsh service path id.
      *
-     * @return nsh service path index
+     * @return nsh service path id
      */
-    public int nshSpi() {
+    public NshServicePathId nshSpi() {
         return nshSpi;
     }
 
@@ -66,12 +68,12 @@
 
     @Override
     public void deserialize(byte[] data) {
-        nshSpi = appKryo.deserialize(data);
+        nshSpi = NshServicePathId.of(appKryo.deserialize(data));
     }
 
     @Override
     public byte[] serialize() {
-        return appKryo.serialize(nshSpi);
+        return appKryo.serialize(nshSpi.servicePathId());
     }
 
     @Override
@@ -95,7 +97,7 @@
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(getClass())
-                .add("nshSpi", nshSpi)
+                .add("nshSpi", nshSpi.toString())
                 .toString();
     }
 }