diff options
author | 2017-10-16 12:33:12 +0200 | |
---|---|---|
committer | 2017-10-16 14:18:09 +0000 | |
commit | c7fc97ad85993956a5e76c2ea69dbd90b34360ac (patch) | |
tree | 34dcf0074b5c6b1f95e742af767f28bc9986f507 /src/vpp-api/java/jvpp-nat/jvpp_nat.c | |
parent | f90813d64c4d1aee3a51609e85e632b1f9a37536 (diff) |
jvpp: stop plugin intialization on first mismatch
Java bindings use get_message_id from jvpp-common
to detect if messages known at compile time
are avaliable at runtime.
In case of missing entry, Java exception is propagated
via JNI using (*env)->ThrowNew.
But this function does not end code execution so,
in order to prevent unexpected behaviour
(e.g. calling vl_msg_api_set_handlers with id == 0),
get_message_id caller should do it manually.
Change-Id: I2edb5013fd3658dcdd77a867b5cdf62e559ee071
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'src/vpp-api/java/jvpp-nat/jvpp_nat.c')
-rw-r--r-- | src/vpp-api/java/jvpp-nat/jvpp_nat.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vpp-api/java/jvpp-nat/jvpp_nat.c b/src/vpp-api/java/jvpp-nat/jvpp_nat.c index 85217f04a22..56c74d21141 100644 --- a/src/vpp-api/java/jvpp-nat/jvpp_nat.c +++ b/src/vpp-api/java/jvpp-nat/jvpp_nat.c @@ -54,7 +54,7 @@ JNIEXPORT void JNICALL Java_io_fd_vpp_jvpp_nat_JVppNatImpl_init0 // verify API has not changed since jar generation #define _(N) \ - get_message_id(env, #N); + if (get_message_id(env, #N) == 0) return; foreach_supported_api_message; #undef _ |