Adding OCS OpenFlow Protocol Extensions from Calient
diff --git a/openflow_input/calient_flow_stats b/openflow_input/calient_flow_stats
new file mode 100644
index 0000000..241cc04
--- /dev/null
+++ b/openflow_input/calient_flow_stats
@@ -0,0 +1,84 @@
+#version 4
+
+struct of_calient_flow_stats_request : of_calient_stats_request {
+    uint8_t  version;
+    uint8_t  type == 18;
+    uint16_t length;
+    uint32_t xid;
+    uint16_t stats_type == 0xffff;
+    enum ofp_stats_request_flags flags;
+    pad(4);
+    uint32_t experimenter == 0x0080F958;
+    uint32_t subtype == 2;     /* OFPEMPFS = 2 */
+    uint8_t table_id;          /* Recommended to be set to 0. Ignored */
+    pad(3); 
+    uint32_t out_port;         /* Require matching entries to include this as an output port.
+                                  A value of OFPP_ANY indicates no restriction. Ignored */
+    uint32_t out_group;        /* Require matching entries to include this as an output group.
+                                  A value of OFPP_ANY indicates no restriction. Ignored */
+    pad(4);                    /* Align to 64 bits */
+    uint64_t cookie;           /* Ignored */
+    uint64_t cookie_mask;      /* Ignored */
+    of_match_t match;          /* Fields to match. Variable size */
+};
+
+enum ofp_calient_cflow_admin_state(wire_type=uint8_t, bitmask=True){
+     OFPCAS_InService = 1,      /* when the connection is activated */
+     OFPCAS_UnderManagement = 2,/*Default Connection state – (when connection is not activated)*/
+};
+
+   
+enum ofp_calient_cflow_operational_state(wire_type=uint8_t, bitmask=True){
+     OFPCOS_InService = 1,   /* When connection is activated */
+     OFPCOS_OutOfService = 2,/*When connection has a critical alarm  ( activated or otherwise) */
+     OFPCOS_Ready = 3,       /*When AS state is UnderManagement */
+     OFPCOS_Degraded = 4,    /*When connection is activated and has a  Major alarm */
+};
+                              
+enum ofp_calient_cflow_Capability(wire_type=uint8_t, bitmask=True){
+    OFPCCS_Ok = 1,          /* Connection has been made successfully */
+    OFPCCS_Failed = 2,      /* Connection has Failed */
+    OFPCCS_Initializing = 3,/* Connection making is in progress */
+};
+
+struct of_calient_flow_stats_entry {
+    uint16_t length;
+    uint8_t table_id;        /* Ignored */
+    pad(1);
+    uint32_t duration_sec;   /* Not supported for now */
+    uint32_t duration_nsec;  /* Not supported for now */
+    uint16_t priority;       /* Not supported */
+    uint16_t idle_timeout;   /* Set to 0 as entries must be explicitly removed */
+    uint16_t hard_timeout;   /* Set to 0 as entries must be explicitly removed */
+    enum ofp_flow_mod_flags flags;
+    pad(4);
+    uint64_t cookie;         /* Ignored */
+    enum ofp_calient_cflow_admin_state admin_status;      /* AS = IS(Activated)/UMA */
+    enum ofp_calient_cflow_operational_state oper_status; /* OS = UMA/OOS */
+    enum ofp_calient_cflow_Capability  oper_capability;   /* OC = FAIL/OK/INIT */
+    enum ofp_calient_ocs_alarm alarm;                     /* Alarm = NA/MJ/MN/CR */
+    of_str6_t port_power;
+    pad(2);
+    of_str6_t connected_port_power;
+    pad(2);
+    of_str64_t cflow_name;   /* Connection name */
+    of_match_t match;
+};
+
+
+struct of_calient_flow_stats_reply : of_calient_stats_reply {
+    uint8_t version;
+    uint8_t type == 19;
+    uint16_t length;
+    uint32_t xid;
+    uint16_t stats_type == 0xffff;
+    enum ofp_stats_reply_flags flags;
+    pad(4);
+    uint32_t experimenter == 0x0080F958;
+    uint32_t subtype == 2;
+    uint16_t data_length;
+    pad(6);
+    list(of_calient_flow_stats_entry_t)flow_stats;
+};
+
+