From 75b66b374067ddfc4d9ed316d66250c4e60db985 Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Fri, 29 Oct 2021 20:40:52 +0500 Subject: 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 Change-Id: Ib777db9dabc3a5a3ff83f07ec211cf2fb3c15cf0 Signed-off-by: Ole Troan --- src/vpp-api/python/vpp_papi/vpp_transport_socket.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/vpp-api/python/vpp_papi/vpp_transport_socket.py') diff --git a/src/vpp-api/python/vpp_papi/vpp_transport_socket.py b/src/vpp-api/python/vpp_papi/vpp_transport_socket.py index 174ab74d0b8..1ba365ad6e1 100644 --- a/src/vpp-api/python/vpp_papi/vpp_transport_socket.py +++ b/src/vpp-api/python/vpp_papi/vpp_transport_socket.py @@ -177,7 +177,8 @@ class VppTransport: return 0 def msg_table_max_index(self): - return len(self.message_table) + """Return the maximum index of the message table.""" + return max(self.message_table.values() or [0]) def write(self, buf): """Send a binary-packed message to VPP.""" -- cgit