diff options
author | Andrew Yourtchenko <ayourtch@gmail.com> | 2019-03-19 14:52:29 +0100 |
---|---|---|
committer | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-03-22 12:53:01 +0000 |
commit | 5c4b9f1efd1c5d9853a3c508e2a103d0f5679173 (patch) | |
tree | c99cd1497c254979c78c025f078dde505a7ca95f /src/vpp-api | |
parent | f7f13347bc8bc941a2d9aa847ddd88a758d65f71 (diff) |
vppapigen: allow for enum size other than u32
Change-Id: If20d2fbab9b854b7db276c81918fdff6abcb8385
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'src/vpp-api')
-rw-r--r-- | src/vpp-api/python/vpp_papi/vpp_serializer.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/vpp-api/python/vpp_papi/vpp_serializer.py b/src/vpp-api/python/vpp_papi/vpp_serializer.py index 1e59e366a8f..bd5f050bba9 100644 --- a/src/vpp-api/python/vpp_papi/vpp_serializer.py +++ b/src/vpp-api/python/vpp_papi/vpp_serializer.py @@ -279,11 +279,13 @@ class VLAList_legacy(): class VPPEnumType(object): def __init__(self, name, msgdef): self.size = types['u32'].size + self.enumtype = 'u32' e_hash = {} for f in msgdef: if type(f) is dict and 'enumtype' in f: if f['enumtype'] != 'u32': - raise NotImplementedError + self.size = types[f['enumtype']].size + self.enumtype = f['enumtype'] continue ename, evalue = f e_hash[ename] = evalue @@ -297,10 +299,10 @@ class VPPEnumType(object): return True def pack(self, data, kwargs=None): - return types['u32'].pack(data) + return types[self.enumtype].pack(data) def unpack(self, data, offset=0, result=None, ntc=False): - x, size = types['u32'].unpack(data, offset) + x, size = types[self.enumtype].unpack(data, offset) return self.enum(x), size |