vppapigen: expose the values of per-message "options" in the api.json files

Also fix the vapi parser's assumption about what
the container with CRC is supposed to look like..

Change-Id: I3a23ef6c1502232742c03d227eb3654fb757709c
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
diff --git a/src/tools/vppapigen/vppapigen_json.py b/src/tools/vppapigen/vppapigen_json.py
index 93ec21f..5fa839f 100644
--- a/src/tools/vppapigen/vppapigen_json.py
+++ b/src/tools/vppapigen/vppapigen_json.py
@@ -77,6 +77,7 @@
         if is_message and t.crc:
             c = {}
             c['crc'] = "{0:#0{1}x}".format(t.crc, 10)
+            c['options'] = t.options
             d.append(c)
 
         r.append(d)
diff --git a/src/vpp-api/vapi/vapi_json_parser.py b/src/vpp-api/vapi/vapi_json_parser.py
index 6d2db42..1383d45 100644
--- a/src/vpp-api/vapi/vapi_json_parser.py
+++ b/src/vpp-api/vapi/vapi_json_parser.py
@@ -164,7 +164,7 @@
             raise ParseError("While parsing message `%s': could not find all "
                              "common header fields" % name)
         for field in m[1:]:
-            if len(field) == 1 and 'crc' in field:
+            if isinstance(field, dict) and 'crc' in field:
                 self.crc = field['crc']
                 logger.debug("Found CRC `%s'" % self.crc)
                 continue