From 2eaf2d26fd844dc9e589069e587069756e2d1883 Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 25 Jan 2018 09:53:31 +0100 Subject: [PATCH] VPP-1144: PAPI Import leads to duplicate type definition. Change-Id: I54c147004fd93681a6a9cf30fa5277c1dabce67c Signed-off-by: Ole Troan --- src/vpp-api/python/vpp_papi.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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() -- 2.16.6