From 7f07a5d24b066be7616eee1e9a7ccb69d77c41aa Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 2 Apr 2024 09:38:19 -0400 Subject: [PATCH] MT#55283 move stats struct defs to kernel module These will be shared between userspace and kernel space and so the definitions must be part of the kernel includes. Change-Id: Iabf7a4ecff3638ea1765a6d7341bb24e9955b509 --- debian/ngcp-rtpengine-kernel-dkms.install | 1 + el/rtpengine.spec | 2 + include/media_socket.h | 31 +--------------- kernel-module/common_stats.h | 37 +++++++++++++++++++ .../interface_counter_stats_fields.inc | 0 .../interface_counter_stats_fields_dir.inc | 0 .../interface_sampled_stats_fields.inc | 0 7 files changed, 41 insertions(+), 30 deletions(-) create mode 100644 kernel-module/common_stats.h rename {include => kernel-module}/interface_counter_stats_fields.inc (100%) rename {include => kernel-module}/interface_counter_stats_fields_dir.inc (100%) rename {include => kernel-module}/interface_sampled_stats_fields.inc (100%) diff --git a/debian/ngcp-rtpengine-kernel-dkms.install b/debian/ngcp-rtpengine-kernel-dkms.install index 9b8f9f109..1b046efbc 100644 --- a/debian/ngcp-rtpengine-kernel-dkms.install +++ b/debian/ngcp-rtpengine-kernel-dkms.install @@ -1,3 +1,4 @@ kernel-module/*.c usr/src/${env:DEB_SOURCE}-${env:DEB_VERSION_UPSTREAM} kernel-module/*.h usr/src/${env:DEB_SOURCE}-${env:DEB_VERSION_UPSTREAM} +kernel-module/*.inc usr/src/${env:DEB_SOURCE}-${env:DEB_VERSION_UPSTREAM} kernel-module/Makefile usr/src/${env:DEB_SOURCE}-${env:DEB_VERSION_UPSTREAM} diff --git a/el/rtpengine.spec b/el/rtpengine.spec index 12502968b..67db13e26 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -174,6 +174,8 @@ install -D -p -m644 kernel-module/xt_RTPENGINE.c \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.c install -D -p -m644 kernel-module/xt_RTPENGINE.h \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/xt_RTPENGINE.h +install -D -p -m644 kernel-module/*.inc \ + %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/ install -D -p -m644 debian/ngcp-rtpengine-kernel-dkms.dkms %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf sed -i -e "s/#MODULE_VERSION#/%{version}-%{release}/g" %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/dkms.conf %if 0%{?with_transcoding} > 0 diff --git a/include/media_socket.h b/include/media_socket.h index 3e9b4ded1..4c5ee12b3 100644 --- a/include/media_socket.h +++ b/include/media_socket.h @@ -15,6 +15,7 @@ #include "types.h" #include "xt_RTPENGINE.h" +#include "common_stats.h" struct media_packet; struct transport_protocol; @@ -104,36 +105,6 @@ struct intf_spec { struct intf_address local_address; struct port_pool port_pool; }; -struct interface_counter_stats_dir { -#define F(n) atomic64 n; -#include "interface_counter_stats_fields_dir.inc" -#undef F -}; -struct interface_counter_stats { -#define F(n) atomic64 n; -#include "interface_counter_stats_fields.inc" -#undef F -}; -struct interface_sampled_stats_fields { -#define F(n) atomic64 n; -#include "interface_sampled_stats_fields.inc" -#undef F -}; -struct interface_sampled_stats { - struct interface_sampled_stats_fields sums; - struct interface_sampled_stats_fields sums_squared; - struct interface_sampled_stats_fields counts; -}; -struct interface_sampled_stats_avg { - struct interface_sampled_stats_fields avg; - struct interface_sampled_stats_fields stddev; -}; -struct interface_stats_block { - struct interface_counter_stats_dir in, - out; - struct interface_counter_stats s; - struct interface_sampled_stats sampled; -}; struct interface_sampled_rate_stats { GHashTable *ht; struct interface_stats_block intv; diff --git a/kernel-module/common_stats.h b/kernel-module/common_stats.h new file mode 100644 index 000000000..e0db7dd95 --- /dev/null +++ b/kernel-module/common_stats.h @@ -0,0 +1,37 @@ +#ifndef _RTPE_COMMON_STATS_H_ +#define _RTPE_COMMON_STATS_H_ + + +struct interface_counter_stats_dir { +#define F(n) atomic64 n; +#include "interface_counter_stats_fields_dir.inc" +#undef F +}; +struct interface_counter_stats { +#define F(n) atomic64 n; +#include "interface_counter_stats_fields.inc" +#undef F +}; +struct interface_sampled_stats_fields { +#define F(n) atomic64 n; +#include "interface_sampled_stats_fields.inc" +#undef F +}; +struct interface_sampled_stats { + struct interface_sampled_stats_fields sums; + struct interface_sampled_stats_fields sums_squared; + struct interface_sampled_stats_fields counts; +}; +struct interface_sampled_stats_avg { + struct interface_sampled_stats_fields avg; + struct interface_sampled_stats_fields stddev; +}; +struct interface_stats_block { + struct interface_counter_stats_dir in, + out; + struct interface_counter_stats s; + struct interface_sampled_stats sampled; +}; + + +#endif diff --git a/include/interface_counter_stats_fields.inc b/kernel-module/interface_counter_stats_fields.inc similarity index 100% rename from include/interface_counter_stats_fields.inc rename to kernel-module/interface_counter_stats_fields.inc diff --git a/include/interface_counter_stats_fields_dir.inc b/kernel-module/interface_counter_stats_fields_dir.inc similarity index 100% rename from include/interface_counter_stats_fields_dir.inc rename to kernel-module/interface_counter_stats_fields_dir.inc diff --git a/include/interface_sampled_stats_fields.inc b/kernel-module/interface_sampled_stats_fields.inc similarity index 100% rename from include/interface_sampled_stats_fields.inc rename to kernel-module/interface_sampled_stats_fields.inc