ofp-util: Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12
[openvswitch] / lib / ofp-util.c
index faa0687c81461e86611a07de1eb2f2b8d1e8094c..8f2217f5766e892b499b40ac937711654f25906b 100644 (file)
@@ -1180,12 +1180,13 @@ ofputil_protocol_from_ofp_version(int version)
 {
     switch (version) {
     case OFP10_VERSION: return OFPUTIL_P_OF10;
+    case OFP12_VERSION: return OFPUTIL_P_OF12;
     default: return 0;
     }
 }
 
-/* Returns the OpenFlow protocol version number (e.g. OFP10_VERSION or
- * OFP11_VERSION) that corresponds to 'protocol'. */
+/* Returns the OpenFlow protocol version number (e.g. OFP10_VERSION,
+ * OFP11_VERSION or OFP12_VERSION) that corresponds to 'protocol'. */
 uint8_t
 ofputil_protocol_to_ofp_version(enum ofputil_protocol protocol)
 {
@@ -1195,6 +1196,8 @@ ofputil_protocol_to_ofp_version(enum ofputil_protocol protocol)
     case OFPUTIL_P_NXM:
     case OFPUTIL_P_NXM_TID:
         return OFP10_VERSION;
+    case OFPUTIL_P_OF12:
+        return OFP12_VERSION;
     }
 
     NOT_REACHED();
@@ -1230,6 +1233,9 @@ ofputil_protocol_set_tid(enum ofputil_protocol protocol, bool enable)
     case OFPUTIL_P_NXM_TID:
         return enable ? OFPUTIL_P_NXM_TID : OFPUTIL_P_NXM;
 
+    case OFPUTIL_P_OF12:
+        return OFPUTIL_P_OF12;
+
     default:
         NOT_REACHED();
     }
@@ -1261,6 +1267,9 @@ ofputil_protocol_set_base(enum ofputil_protocol cur,
     case OFPUTIL_P_NXM_TID:
         return ofputil_protocol_set_tid(OFPUTIL_P_NXM, tid);
 
+    case OFPUTIL_P_OF12:
+        return ofputil_protocol_set_tid(OFPUTIL_P_OF12, tid);
+
     default:
         NOT_REACHED();
     }
@@ -1288,6 +1297,9 @@ ofputil_protocol_to_string(enum ofputil_protocol protocol)
 
     case OFPUTIL_P_OF10_TID:
         return "OpenFlow10+table_id";
+
+    case OFPUTIL_P_OF12:
+        return NULL;
     }
 
     /* Check abbreviations. */
@@ -1564,6 +1576,9 @@ ofputil_encode_set_protocol(enum ofputil_protocol current,
         case OFPUTIL_P_OF10:
             return ofputil_encode_nx_set_flow_format(NXFF_OPENFLOW10);
 
+        case OFPUTIL_P_OF12:
+            return ofputil_encode_nx_set_flow_format(NXFF_OPENFLOW12);
+
         case OFPUTIL_P_OF10_TID:
         case OFPUTIL_P_NXM_TID:
             NOT_REACHED();
@@ -1611,6 +1626,9 @@ ofputil_nx_flow_format_to_protocol(enum nx_flow_format flow_format)
     case NXFF_NXM:
         return OFPUTIL_P_NXM;
 
+    case NXFF_OPENFLOW12:
+        return OFPUTIL_P_OF12;
+
     default:
         return 0;
     }
@@ -1633,6 +1651,8 @@ ofputil_nx_flow_format_to_string(enum nx_flow_format flow_format)
         return "openflow10";
     case NXFF_NXM:
         return "nxm";
+    case NXFF_OPENFLOW12:
+        return "openflow12";
     default:
         NOT_REACHED();
     }
@@ -1822,6 +1842,7 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm,
         nfm->match_len = htons(match_len);
         break;
 
+    case OFPUTIL_P_OF12:
     default:
         NOT_REACHED();
     }
@@ -1984,6 +2005,7 @@ ofputil_encode_flow_stats_request(const struct ofputil_flow_stats_request *fsr,
         break;
     }
 
+    case OFPUTIL_P_OF12:
     default:
         NOT_REACHED();
     }
@@ -2357,6 +2379,7 @@ ofputil_encode_flow_removed(const struct ofputil_flow_removed *fr,
         break;
     }
 
+    case OFPUTIL_P_OF12:
     default:
         NOT_REACHED();
     }