[ONOS-4612]Update SFC flows inline with the Official OVS NSH patch

Change-Id: If58517841096a939860d88aa78eca7cae46b9935
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionSelectorType.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionSelectorType.java
index 6952224..dad75cb 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionSelectorType.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionSelectorType.java
@@ -38,6 +38,7 @@
         NICIRA_MATCH_NSH_CH2(3),
         NICIRA_MATCH_NSH_CH3(4),
         NICIRA_MATCH_NSH_CH4(5),
+        NICIRA_MATCH_ENCAP_ETH_TYPE(6),
         OFDPA_MATCH_VLAN_VID(16),
         BMV2_MATCH_PARAMS(128);
 
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/ExtensionTreatmentType.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/ExtensionTreatmentType.java
index f87274e..9550597 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/ExtensionTreatmentType.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/ExtensionTreatmentType.java
@@ -38,14 +38,29 @@
         NICIRA_MOV_ARP_SPA_TO_TPA(3),
         NICIRA_MOV_ETH_SRC_TO_DST(4),
         NICIRA_MOV_IP_SRC_TO_DST(5),
+        NICIRA_MOV_NSH_C1_TO_C1(6),
+        NICIRA_MOV_NSH_C2_TO_C2(7),
+        NICIRA_MOV_NSH_C3_TO_C3(8),
+        NICIRA_MOV_NSH_C4_TO_C4(9),
+        NICIRA_MOV_TUN_IPV4_DST_TO_TUN_IPV4_DST(10),
+        NICIRA_MOV_TUN_ID_TO_TUN_ID(11),
+        NICIRA_MOV_NSH_C2_TO_TUN_ID(12),
         NICIRA_RESUBMIT_TABLE(14),
-        NICIRA_SET_NSH_SPI(32),
-        NICIRA_SET_NSH_SI(33),
-        NICIRA_SET_NSH_CH1(34),
-        NICIRA_SET_NSH_CH2(35),
-        NICIRA_SET_NSH_CH3(36),
-        NICIRA_SET_NSH_CH4(37),
+        NICIRA_PUSH_NSH(38),
+        NICIRA_POP_NSH(39),
         OFDPA_SET_VLAN_ID(64),
+        NICIRA_TUN_GPE_NP(111),
+        NICIRA_SET_NSH_SPI(113),
+        NICIRA_SET_NSH_SI(114),
+        NICIRA_SET_NSH_CH1(115),
+        NICIRA_SET_NSH_CH2(116),
+        NICIRA_SET_NSH_CH3(117),
+        NICIRA_SET_NSH_CH4(118),
+        NICIRA_NSH_MDTYPE(119),
+        NICIRA_NSH_NP(120),
+        NICIRA_ENCAP_ETH_SRC(121),
+        NICIRA_ENCAP_ETH_DST(122),
+        NICIRA_ENCAP_ETH_TYPE(123),
         BMV2_ACTION(128);
 
         private ExtensionTreatmentType type;
diff --git a/core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java b/core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java
index d9ce4e5..9ffa2bd 100644
--- a/core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java
+++ b/core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java
@@ -15,7 +15,8 @@
  */
 package org.onosproject.net.device;
 
-import com.google.common.collect.FluentIterable;
+import java.util.Collections;
+import java.util.List;
 
 import org.onosproject.net.Device;
 import org.onosproject.net.Device.Type;
@@ -24,13 +25,31 @@
 import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
 
-import java.util.Collections;
-import java.util.List;
+import com.google.common.collect.FluentIterable;
 
 /**
  * Test adapter for device service.
  */
 public class DeviceServiceAdapter implements DeviceService {
+
+    private List<Port> portList;
+
+    /**
+     * Constructor with port list.
+     *
+     * @param portList port list
+     */
+    public DeviceServiceAdapter(List<Port> portList) {
+        this.portList = portList;
+    }
+
+    /**
+     * Default constructor.
+     */
+    public DeviceServiceAdapter() {
+
+    }
+
     @Override
     public int getDeviceCount() {
         return 0;
@@ -59,7 +78,7 @@
 
     @Override
     public List<Port> getPorts(DeviceId deviceId) {
-        return Collections.emptyList();
+        return portList;
     }
 
     @Override