api: register endian handlers for reply messages
Endian handlers was not registered for reply messages.
Causing endian-neutral handlers to crash.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Id14173300ee1ab2601e92d58c70d2fa260814b69
diff --git a/src/tools/vppapigen/vppapigen_c.py b/src/tools/vppapigen/vppapigen_c.py
index bf55739..59dbbc9 100644
--- a/src/tools/vppapigen/vppapigen_c.py
+++ b/src/tools/vppapigen/vppapigen_c.py
@@ -644,6 +644,19 @@
' .is_autoendian = 0}};\n'
.format(n=s.caller, ID=s.caller.upper()))
write(' vl_msg_api_config (&c);\n')
+ try:
+ d = define_hash[s.reply]
+ write(' c = (vl_msg_api_msg_config_t) {{.id = VL_API_{ID} + msg_id_base,\n'
+ ' .name = "{n}",\n'
+ ' .handler = 0,\n'
+ ' .cleanup = vl_noop_handler,\n'
+ ' .endian = vl_api_{n}_t_endian,\n'
+ ' .print = vl_api_{n}_t_print,\n'
+ ' .is_autoendian = 0}};\n'
+ .format(n=s.reply, ID=s.reply.upper()))
+ write(' vl_msg_api_config (&c);\n')
+ except KeyError:
+ pass
write(' return msg_id_base;\n')
write('}\n')