Merge into master from pull request #409:
openflow_input: add oxm_bsn_inner_vlan_vid. (https://github.com/floodlight/loxigen/pull/409)
diff --git a/java_gen/java_type.py b/java_gen/java_type.py
index ac6a3e0..c007d52 100644
--- a/java_gen/java_type.py
+++ b/java_gen/java_type.py
@@ -714,6 +714,9 @@
         'of_oxm_bsn_inner_eth_src' : { 'value' : mac_addr },
         'of_oxm_bsn_inner_eth_src_masked' : { 'value' : mac_addr, 'value_mask' : mac_addr },
 
+        'of_oxm_bsn_inner_vlan_vid' : { 'value' : vlan_vid_match },
+        'of_oxm_bsn_inner_vlan_vid_masked' : { 'value' : vlan_vid_match, 'value_mask' : vlan_vid_match },
+
         'of_table_stats_entry': { 'wildcards': table_stats_wildcards },
         'of_match_v1': { 'vlan_vid' : vlan_vid_match, 'vlan_pcp': vlan_pcp,
                 'eth_type': eth_type, 'ip_dscp': ip_dscp, 'ip_proto': ip_proto,
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
index e36cb59..65bb22d 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
@@ -272,6 +272,9 @@
     public final static MatchField<MacAddress> BSN_INNER_ETH_SRC =
             new MatchField<MacAddress>("bsn_inner_eth_src", MatchFields.BSN_INNER_ETH_SRC);
 
+    public final static MatchField<OFVlanVidMatch> BSN_INNER_VLAN_VID =
+            new MatchField<OFVlanVidMatch>("bsn_inner_vlan_vid", MatchFields.BSN_INNER_VLAN_VID);
+
     public String getName() {
         return name;
     }
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
index 76671bd..73aa24f 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
@@ -68,4 +68,5 @@
     BSN_VXLAN_NETWORK_ID,
     BSN_INNER_ETH_DST,
     BSN_INNER_ETH_SRC,
+    BSN_INNER_VLAN_VID,
 }
diff --git a/openflow_input/bsn_inner_vlan_vid b/openflow_input/bsn_inner_vlan_vid
new file mode 100644
index 0000000..68092a2
--- /dev/null
+++ b/openflow_input/bsn_inner_vlan_vid
@@ -0,0 +1,47 @@
+// Copyright 2015, 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 removed
+// 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 the LoxiGen Compiler."
+//
+// You may not use this file except in compliance with the EPL or
+// LOXI Exception. You may obtain 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 4
+#version 5
+
+/*
+ * Inner VLAN VID
+ */
+
+struct of_oxm_bsn_inner_vlan_vid : of_oxm {
+    uint32_t type_len == 0x00033002;
+    uint16_t value;
+};
+
+struct of_oxm_bsn_inner_vlan_vid_masked : of_oxm {
+    uint32_t type_len == 0x00033104;
+    uint16_t value;
+    uint16_t value_mask;
+};