From 494ac006c38a30b0cb31673ff0eed556aef6d894 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 11 Oct 2023 10:24:12 -0400 Subject: [PATCH] MT#55283 shutdown: close/delete kernel interface Change-Id: Ie638cd2d33a7f0c5d570048a28444cd0333f5a45 --- daemon/kernel.c | 8 ++++++++ daemon/main.c | 1 + include/kernel.h | 1 + 3 files changed, 10 insertions(+) diff --git a/daemon/kernel.c b/daemon/kernel.c index 191d21e52..7d89ecb40 100644 --- a/daemon/kernel.c +++ b/daemon/kernel.c @@ -139,6 +139,14 @@ int kernel_setup_table(unsigned int id) { return 0; } +void kernel_shutdown_table(void) { + if (!kernel.is_open) + return; + // ignore errors + close(kernel.fd); + kernel_delete_table(kernel.table); +} + int kernel_add_stream(struct rtpengine_target_info *mti) { struct rtpengine_command_add_target cmd; diff --git a/daemon/main.c b/daemon/main.c index e66bba102..841c3f16a 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -1456,6 +1456,7 @@ int main(int argc, char **argv) { #ifndef WITHOUT_NFTABLES nftables_shutdown(rtpe_config.nftables_chain, rtpe_config.nftables_base_chain); #endif + kernel_shutdown_table(); return 0; } diff --git a/include/kernel.h b/include/kernel.h index 14bc910db..a44a34fe7 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -35,6 +35,7 @@ extern struct kernel_interface kernel; int kernel_setup_table(unsigned int); +void kernel_shutdown_table(void); int kernel_add_stream(struct rtpengine_target_info *); int kernel_add_destination(struct rtpengine_destination_info *);