diff options
author | Ole Troan <ot@cisco.com> | 2018-01-25 09:53:31 +0100 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2018-01-25 13:43:34 +0000 |
commit | 2eaf2d26fd844dc9e589069e587069756e2d1883 (patch) | |
tree | 46c5454c10d54bfb2420389f70c7f6397cdc3caf | |
parent | 9f30c1708f81985f1c4b22b4770e14f41d916485 (diff) |
VPP-1144: PAPI Import leads to duplicate type definition.
Change-Id: I54c147004fd93681a6a9cf30fa5277c1dabce67c
Signed-off-by: Ole Troan <ot@cisco.com>
-rw-r--r-- | src/vpp-api/python/vpp_papi.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vpp-api/python/vpp_papi.py b/src/vpp-api/python/vpp_papi.py index 4d39d5f88ef..1d92a41a504 100644 --- a/src/vpp-api/python/vpp_papi.py +++ b/src/vpp-api/python/vpp_papi.py @@ -515,8 +515,23 @@ class VPP(): return self.messages[name]['return_tuple'] return None + def duplicate_check_ok(self, name, msgdef): + crc = None + for c in msgdef: + if type(c) is dict and 'crc' in c: + crc = c['crc'] + break + if crc: + # We can get duplicates because of imports + if crc == self.messages[name]['crc']: + return True + return False + def add_message(self, name, msgdef, typeonly=False): if name in self.messages: + if typeonly: + if self.duplicate_check_ok(name, msgdef): + return raise ValueError('Duplicate message name: ' + name) args = collections.OrderedDict() |