summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2021-03-04 10:04:41 +0000
committerOle Tr�an <otroan@employees.org>2021-03-05 21:12:56 +0000
commitef9c23503c759bfc0fc404c0d7cf122c92460123 (patch)
tree96071be34d83b8e3bc3010d5d095b46bd6d4a9a5
parent9cc765559c39a299bdb55f3f7279abbcbe00a556 (diff)
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>
-rw-r--r--src/tools/vppapigen/vppapigen_json.py1
-rw-r--r--src/vpp-api/vapi/vapi_json_parser.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/tools/vppapigen/vppapigen_json.py b/src/tools/vppapigen/vppapigen_json.py
index 93ec21fcc88..5fa839f9854 100644
--- a/src/tools/vppapigen/vppapigen_json.py
+++ b/src/tools/vppapigen/vppapigen_json.py
@@ -77,6 +77,7 @@ def walk_defs(s, is_message=False):
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 6d2db422c96..1383d456bf1 100644
--- a/src/vpp-api/vapi/vapi_json_parser.py
+++ b/src/vpp-api/vapi/vapi_json_parser.py
@@ -164,7 +164,7 @@ class Message(object):
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