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