[ONOS-3291] Match fields added in LOXI for NSH extension

Change-Id: I3a51c914afb9ee3c836de2800ae9cb87d9a1470a
diff --git a/openflow_input/oxm_nicira_nsh b/openflow_input/oxm_nicira_nsh
new file mode 100644
index 0000000..eb32b4d
--- /dev/null
+++ b/openflow_input/oxm_nicira_nsh
@@ -0,0 +1,103 @@
+// Copyright 2013, Big Switch Networks, Inc.
+//
+// LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with
+// the following special exception:
+//
+// LOXI Exception
+//
+// As a special exception to the terms of the EPL, you may distribute libraries
+// generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided
+// that copyright and licensing notices generated by LoxiGen are not altered or removd
+// from the LoxiGen Libraries and the notice provided below is (i) included in
+// the LoxiGen Libraries, if distributed in source code form and (ii) included in any
+// documentation for the LoxiGen Libraries, if distributed in binary form.
+//
+// Notice: "Copyright 2013, Big Switch Networks, Inc. This library was generated by t"
+//
+// You may not use this file except in compliance with the EPL or LOXI Exception. Youn
+// a copy of the EPL at:
+//
+// http://www.eclipse.org/legal/epl-v10.html
+//
+// 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
+// EPL for the specific language governing permissions and limitations
+// under the EPL.
+
+#version 3
+#version 4
+#version 5
+
+// Nicira extension for nsh_spi (37)
+struct of_oxm_nsh_spi : of_oxm {
+    uint32_t type_len == 0x00014a04;
+    uint32_t value;
+};
+
+struct of_oxm_nsh_spi_masked : of_oxm {
+    uint32_t type_len == 0x00014b08;
+    uint32_t value;
+    uint32_t value_mask;
+};
+
+// Nicira extension for nsh_si (38)
+struct of_oxm_nsh_si : of_oxm {
+    uint32_t type_len == 0x00014c04;
+    uint8_t value;
+};
+
+struct of_oxm_nsh_si_masked : of_oxm {
+    uint32_t type_len == 0x00014d08;
+    uint8_t value;
+    uint8_t value_mask;
+};
+
+// Nicira extension for nsh_ch1 (39)
+struct of_oxm_nsh_ch1 : of_oxm {
+    uint32_t type_len == 0x00014e04;
+    uint32_t value;
+};
+
+struct of_oxm_nsh_ch1_masked : of_oxm {
+    uint32_t type_len == 0x00014f08;
+    uint32_t value;
+    uint32_t value_mask;
+};
+
+// Nicira extension for nsh_ch2 (40)
+struct of_oxm_nsh_ch2 : of_oxm {
+    uint32_t type_len == 0x00015004;
+    uint32_t value;
+};
+
+struct of_oxm_nsh_ch2_masked : of_oxm {
+    uint32_t type_len == 0x00015108;
+    uint32_t value;
+    uint32_t value_mask;
+};
+
+
+// Nicira extension for nsh_ch3 (41)
+struct of_oxm_nsh_ch3 : of_oxm {
+    uint32_t type_len == 0x00015204;
+    uint32_t value;
+};
+
+struct of_oxm_nsh_ch3_masked : of_oxm {
+    uint32_t type_len == 0x00015308;
+    uint32_t value;
+    uint32_t value_mask;
+};
+
+// Nicira extension for nsh_ch4 (42)
+struct of_oxm_nsh_ch4 : of_oxm {
+    uint32_t type_len == 0x00015404;
+    uint32_t value;
+};
+
+struct of_oxm_nsh_ch4_masked : of_oxm {
+    uint32_t type_len == 0x00015508;
+    uint32_t value;
+    uint32_t value_mask;
+};