From ef9c23503c759bfc0fc404c0d7cf122c92460123 Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Thu, 4 Mar 2021 10:04:41 +0000 Subject: 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 --- src/tools/vppapigen/vppapigen_json.py | 1 + src/vpp-api/vapi/vapi_json_parser.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 -- cgit 1.2.3-korg