From: Andrew Yourtchenko Date: Thu, 4 Mar 2021 10:04:41 +0000 (+0000) Subject: vppapigen: expose the values of per-message "options" in the api.json files X-Git-Tag: v21.10-rc0~406 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F23%2F31523%2F4;p=vpp.git 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 --- 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