classifier: Use array for subtables instead of a list.
[sliver-openvswitch.git] / build-aux / extract-ofp-msgs
index fe92dae..9571192 100755 (executable)
@@ -10,6 +10,7 @@ OFP10_VERSION = 0x01
 OFP11_VERSION = 0x02
 OFP12_VERSION = 0x03
 OFP13_VERSION = 0x04
+OFP14_VERSION = 0x05
 
 NX_VENDOR_ID = 0x00002320
 
@@ -24,11 +25,16 @@ version_map = {"1.0":     (OFP10_VERSION, OFP10_VERSION),
                "1.1":     (OFP11_VERSION, OFP11_VERSION),
                "1.2":     (OFP12_VERSION, OFP12_VERSION),
                "1.3":     (OFP13_VERSION, OFP13_VERSION),
-               "1.0+":    (OFP10_VERSION, OFP13_VERSION),
-               "1.1+":    (OFP11_VERSION, OFP13_VERSION),
-               "1.2+":    (OFP12_VERSION, OFP13_VERSION),
-               "1.3+":    (OFP13_VERSION, OFP13_VERSION),
-               "1.0-1.1": (OFP10_VERSION, OFP11_VERSION)}
+               "1.4":     (OFP14_VERSION, OFP14_VERSION),
+               "1.0+":    (OFP10_VERSION, OFP14_VERSION),
+               "1.1+":    (OFP11_VERSION, OFP14_VERSION),
+               "1.2+":    (OFP12_VERSION, OFP14_VERSION),
+               "1.3+":    (OFP13_VERSION, OFP14_VERSION),
+               "1.4+":    (OFP14_VERSION, OFP14_VERSION),
+               "1.0-1.1": (OFP10_VERSION, OFP11_VERSION),
+               "1.0-1.2": (OFP10_VERSION, OFP12_VERSION),
+               "1.1-1.2": (OFP11_VERSION, OFP12_VERSION),
+               "<all>":   (0x01, 0xff)}
 
 def get_line():
     global line
@@ -103,7 +109,7 @@ def extract_ofp_msgs(output_file_name):
             comment += ' %s' % line.lstrip('* \t').rstrip(' \t\r\n')
         comment = comment[:-2].rstrip()
 
-        m = re.match(r'([A-Z]+) ([-.+\d]+) \((\d+)\): ([^.]+)\.$', comment)
+        m = re.match(r'([A-Z]+) ([-.+\d]+|<all>) \((\d+)\): ([^.]+)\.$', comment)
         if not m:
             fatal("unexpected syntax between messages")
         type_, versions, number, contents = m.groups()