Initial test of optical OXC experimenter messages
diff --git a/c_gen/c_test_gen.py b/c_gen/c_test_gen.py
index 71615e6..9b70e52 100644
--- a/c_gen/c_test_gen.py
+++ b/c_gen/c_test_gen.py
@@ -105,6 +105,8 @@
         of_bsn_vport_q_in_q_t="vport",
         of_bitmap_128_t="bitmap_128",
         of_checksum_128_t="checksum_128",
+	#Circuit extensions
+        oxm_of_och_sig_id_t="sig_id",		
         )
 
     if m_type.find("of_list_") == 0:
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 78e6075..1acc1a2 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
@@ -235,6 +235,15 @@
     public final static MatchField<ClassId> BSN_VLAN_XLATE_PORT_GROUP_ID =
             new MatchField<ClassId>("bsn_vlan_xlate_port_group_id", MatchFields.BSN_VLAN_XLATE_PORT_GROUP_ID);
 
+
+    public final static MatchField<U64> OCH_SIGID =
+            new MatchField<U64>("och_sigid",
+                                    MatchFields.OCH_SIGID);
+
+    public final static MatchField<U64> OCH_SIGTYPE =
+            new MatchField<U64>("och_sigid",
+                                    MatchFields.OCH_SIGTYPE);
+
     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 863634e..43a7785 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
@@ -57,4 +57,6 @@
     BSN_UDF7,
     BSN_TCP_FLAGS,
     BSN_VLAN_XLATE_PORT_GROUP_ID,
+    OCH_SIGID,
+    OCH_SIGTYPE;
 }
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFOxmTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFOxmTest.java
index 8482886..04034cc 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFOxmTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFOxmTest.java
@@ -59,4 +59,6 @@
         OFOxm<IPv4Address> canonical = ipv4SrcMasked.getCanonical();
         assertEquals(ipv4SrcMasked, canonical);
     }
+
+
 }
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIteration13Test.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIteration13Test.java
index b654a53..9656406 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIteration13Test.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIteration13Test.java
@@ -1,10 +1,22 @@
 package org.projectfloodlight.protocol.match;
 
+import org.junit.Test;
 import org.projectfloodlight.openflow.protocol.OFFactories;
 import org.projectfloodlight.openflow.protocol.OFVersion;
+import org.projectfloodlight.openflow.protocol.match.Match;
+import org.projectfloodlight.openflow.protocol.match.MatchField;
+import org.projectfloodlight.openflow.types.U64;
 
 public class MatchFieldIteration13Test extends MatchFieldIterationBase {
     public MatchFieldIteration13Test() {
         super(OFFactories.getFactory(OFVersion.OF_13));
     }
+
+    @Test
+    public void matchCircuitFields()
+    {
+        Match.Builder builder = factory.buildMatchV3().setExact(MatchField
+                                                                        .OCH_SIGTYPE, U64.ZERO);
+
+    }
 }
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIterationBase.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIterationBase.java
index 9c72e37..892c5a0 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIterationBase.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/match/MatchFieldIterationBase.java
@@ -25,7 +25,7 @@
 
 public class MatchFieldIterationBase {
 
-    private OFFactory factory;
+    protected OFFactory factory;
 
     protected MatchFieldIterationBase(OFFactory factory) {
         this.factory = factory;
diff --git a/openflow_input/oxm-1.3 b/openflow_input/oxm-1.3
index 2dbab42..a25b8b2 100644
--- a/openflow_input/oxm-1.3
+++ b/openflow_input/oxm-1.3
@@ -40,3 +40,19 @@
     uint64_t value;
     uint64_t value_mask;
 };
+
+struct of_oxm_och_sigtype : of_oxm {
+    uint32_t type_len == 0x80005c08;
+    uint64_t value;
+};
+
+
+struct of_oxm_och_sigid : of_oxm {
+    uint32_t type_len == 0x80005d10;
+    uint64_t value;
+};
+
+
+
+
+