diff options
author | 2021-10-29 20:40:52 +0500 | |
---|---|---|
committer | 2025-03-04 10:04:14 +0000 | |
commit | 75b66b374067ddfc4d9ed316d66250c4e60db985 (patch) | |
tree | e3acc58a9734ddd904bf2e43dc1a2b90bb12256b /src/vpp-api/python/vpp_papi/vpp_papi_async.py | |
parent | 86abfc3e0aee3a1a1ae9107d03d98bf1cdcedd33 (diff) |
papi: fix socket api max message id calculation
In case of sparse message ids due fixed offsets, length of
the message table is less than max message id, causing
"IndexError: list assignment index out of range" exception
in _register_function() due "self.id_msgdef[i] = msg".
Unlike shmem api, socket api needs to use max id.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib777db9dabc3a5a3ff83f07ec211cf2fb3c15cf0
Signed-off-by: Ole Troan <otroan@employees.org>
Diffstat (limited to 'src/vpp-api/python/vpp_papi/vpp_papi_async.py')
-rw-r--r-- | src/vpp-api/python/vpp_papi/vpp_papi_async.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vpp-api/python/vpp_papi/vpp_papi_async.py b/src/vpp-api/python/vpp_papi/vpp_papi_async.py index d9a4fabb69e..44e2a78eeea 100644 --- a/src/vpp-api/python/vpp_papi/vpp_papi_async.py +++ b/src/vpp-api/python/vpp_papi/vpp_papi_async.py @@ -451,7 +451,8 @@ class VPPApiClient: for m in r.message_table: n = m.name self.message_table[n] = m.index - self.vpp_dictionary_maxid = len(self.message_table) + # Find the maximum index of the message table + self.vpp_dictionary_maxid = max(self.message_table.values() or [0]) # self.worker_task = asyncio.create_task(self.message_handler(event_queue)) requests = {} |