From 975ec55c0d16c92f258bc0814d6798755e500022 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 16 Apr 2025 18:24:12 +0200 Subject: [PATCH] snort: don't create listner until 1st instance is created Type: improvement Change-Id: I343eed4024648e198b7d852c35d5202817e12be3 Signed-off-by: Damjan Marion --- src/plugins/snort/main.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/plugins/snort/main.c b/src/plugins/snort/main.c index 9bab1185b60..c87ecfd7ebd 100644 --- a/src/plugins/snort/main.c +++ b/src/plugins/snort/main.c @@ -392,6 +392,18 @@ snort_instance_create (vlib_main_t *vm, char *name, u8 log2_queue_sz, u8 align = CLIB_CACHE_LINE_BYTES; int rv = 0; + if (sm->listener == 0) + { + clib_error_t *err; + err = snort_listener_init (vm); + if (err) + { + log_err ("listener init failed: %U", format_clib_error, err); + clib_error_free (err); + return VNET_API_ERROR_INIT_FAILED; + } + } + if (snort_get_instance_by_name (name)) return VNET_API_ERROR_ENTRY_ALREADY_EXISTS; @@ -831,7 +843,7 @@ snort_init (vlib_main_t *vm) if (!sm->socket_name) snort_set_default_socket (sm, 0); - return snort_listener_init (vm); + return 0; } VLIB_INIT_FUNCTION (snort_init); -- 2.16.6