Package: iptables-netflow-dkms
Version: 2.6-7.2
Severity: important
Tags: upstream
Hi,
iptables-netflow-dkms fails to build a module for Linux 6.19 in
experimental:
DKMS (dkms-3.2.2) make.log for ipt-netflow/2.6 for kernel 6.19-amd64 (x86_64)
Fri Jan 16 09:01:36 UTC 2026
Running the pre_build script
# command: cd /var/lib/dkms/ipt-netflow/2.6/build/ &&
/var/lib/dkms/ipt-netflow/2.6/build/./configure
--from-dkms-conf=/lib/modules/6.19-amd64/build --prefix=/usr
--includedir=/usr/include --libdir=/usr/lib/x86_64-linux-gnu
--ipt-bin=/usr/sbin/iptables-legacy --enable-natevents --enable-snmp-rules
--enable-macaddress --enable-vlan --enable-direction --enable-sampler
--enable-physdev --enable-promisc --promisc-mpls
Module version: 2.6
Iptables binary version: no iptables binary found
Xtables version: 1.8.11 (detected from pkg-config)
Check for working gcc: Yes (x86_64-linux-gnu-gcc-15)
Checking for presence of xtables.h... Yes (using ipt-inc)
Iptables include flags: -I/usr/include (user specified)
Iptables module path: /usr/lib/x86_64-linux-gnu/xtables (user specified)
Searching for net-snmp-config... No.
Searching for net-snmp agent... No.
Assuming you don't want net-snmp agent support.
Otherwise do: apt-get install snmpd libsnmp-dev
Creating Makefile.. done.
If you need some options enabled run ./configure --help
Now run: make all install
# exit code: 0
# elapsed time: 00:00:00
----------------------------------------------------------------
Building module(s)
# command: make -j14 KERNELRELEASE=6.19-amd64 ipt_NETFLOW.ko
./gen_compat_def > compat_def.h-
Test function xt_family linux/netfilter_ipv4/ip_tables.h declared
Test struct timeval linux/ktime.h undeclared
Test struct proc_ops linux/proc_fs.h declared
Test function synchronize_sched linux/rcupdate.h undeclared
Test function nf_bridge_info_get linux/netfilter_bridge.h declared
Test struct vlan_dev_priv linux/if_vlan.h declared
Test function put_unaligned_be24 ???/unaligned.h #include <linux/version.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,12,0)
#include <linux/unaligned.h>
#else
#include <asm/unaligned.h>
#endif declared
Test function totalram_pages linux/mm.h declared
Test symbol totalram_pages linux/mm.h declared
Test member nf_ct_event_notifier.ct_event net/netfilter/nf_conntrack_ecache.h
declared
Test function register_sysctl_paths linux/sysctl.h undeclared
mv compat_def.h- compat_def.h
cat compat_def.h
// Autogenerated for /lib/modules/6.19-amd64/build
// xt_family is declared in <linux/netfilter_ipv4/ip_tables.h>
#define HAVE_XT_FAMILY
#undef HAVE_TIMEVAL
// struct timeval is undeclared in <linux/ktime.h>.
// Compile:
// #include <linux/module.h>
// #include <linux/ktime.h>
// MODULE_LICENSE("GPL");
// struct timeval test;
// Output:
// make -s -B -C /lib/modules/6.19-amd64/build
M=/var/lib/dkms/ipt-netflow/2.6/build/cc-test-build modules
// test.c:4:16: error: storage size of 'test' isn't known
// 4 | struct timeval test;
// | ^~~~
// make[4]: ***
[/usr/src/linux-headers-6.19-common/scripts/Makefile.build:292: test.o] Error 1
// make[3]: *** [/usr/src/linux-headers-6.19-common/Makefile:2078: .] Error 2
// make[2]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// make[1]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// struct proc_ops is declared in <linux/proc_fs.h>
#define HAVE_PROC_OPS
#undef HAVE_SYNCHRONIZE_SCHED
// synchronize_sched is undeclared in <linux/rcupdate.h>.
// Compile:
// #include <linux/module.h>
// #include <linux/rcupdate.h>
// MODULE_LICENSE("GPL");
// void *test = synchronize_sched;
// Output:
// make -s -B -C /lib/modules/6.19-amd64/build
M=/var/lib/dkms/ipt-netflow/2.6/build/cc-test-build modules
// test.c:4:14: error: 'synchronize_sched' undeclared here (not in a
function); did you mean 'synchronize_srcu'?
// 4 | void *test = synchronize_sched;
// | ^~~~~~~~~~~~~~~~~
// | synchronize_srcu
// make[4]: ***
[/usr/src/linux-headers-6.19-common/scripts/Makefile.build:292: test.o] Error 1
// make[3]: *** [/usr/src/linux-headers-6.19-common/Makefile:2078: .] Error 2
// make[2]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// make[1]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// nf_bridge_info_get is declared in <linux/netfilter_bridge.h>
#define HAVE_NF_BRIDGE_INFO_GET
// struct vlan_dev_priv is declared in <linux/if_vlan.h>
#define HAVE_VLAN_DEV_PRIV
// put_unaligned_be24 is declared in <???/unaligned.h>
#define HAVE_PUT_UNALIGNED_BE24
// totalram_pages is declared in <linux/mm.h>
#define HAVE_TOTALRAM_PAGES
// totalram_pages is declared in <linux/mm.h>
#define HAVE_TOTALRAM_PAGES_REF
// struct nf_ct_event_notifier.ct_event is declared in
<net/netfilter/nf_conntrack_ecache.h>
#define HAVE_NF_CT_EVENT_NOTIFIER_CT_EVENT
#undef HAVE_REGISTER_SYSCTL_PATHS
// register_sysctl_paths is undeclared in <linux/sysctl.h>.
// Compile:
// #include <linux/module.h>
// #include <linux/sysctl.h>
// MODULE_LICENSE("GPL");
// void *test = register_sysctl_paths;
// Output:
// make -s -B -C /lib/modules/6.19-amd64/build
M=/var/lib/dkms/ipt-netflow/2.6/build/cc-test-build modules
// test.c:4:14: error: 'register_sysctl_paths' undeclared here (not in a
function); did you mean 'register_sysctl_sz'?
// 4 | void *test = register_sysctl_paths;
// | ^~~~~~~~~~~~~~~~~~~~~
// | register_sysctl_sz
// make[4]: ***
[/usr/src/linux-headers-6.19-common/scripts/Makefile.build:292: test.o] Error 1
// make[3]: *** [/usr/src/linux-headers-6.19-common/Makefile:2078: .] Error 2
// make[2]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// make[1]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
// End of compat_def.h
Compiling 2.6 for kernel
make -C /lib/modules/6.19-amd64/build M=/var/lib/dkms/ipt-netflow/2.6/build
modules
make[1]: Entering directory '/usr/src/linux-headers-6.19-amd64'
make[2]: Entering directory '/var/lib/dkms/ipt-netflow/2.6/build'
CC [M] ipt_NETFLOW.o
In file included from ipt_NETFLOW.c:82:
compat.h:231:15: warning: no previous prototype for 'timeval_to_jiffies'
[-Wmissing-prototypes]
231 | unsigned long timeval_to_jiffies(const struct timeval *tv)
| ^~~~~~~~~~~~~~~~~~
compat.h:396:20: warning: no previous prototype for 'compat_hex_to_bin'
[-Wmissing-prototypes]
396 | #define hex_to_bin compat_hex_to_bin
| ^~~~~~~~~~~~~~~~~
compat.h:398:5: note: in expansion of macro 'hex_to_bin'
398 | int hex_to_bin(char ch)
| ^~~~~~~~~~
compat.h:728:20: warning: no previous prototype for 'strtoul'
[-Wmissing-prototypes]
728 | unsigned long long strtoul(const char *cp, char **endp, unsigned int
base)
| ^~~~~~~
ipt_NETFLOW.c:114:4: warning: #warning "FIXME: physindev in struct
nf_bridge_info has been replaced by physinif." [-Wcpp]
114 | # warning "FIXME: physindev in struct nf_bridge_info has been replaced
by physinif."
| ^~~~~~~
ipt_NETFLOW.c: In function 'nf_seq_show':
ipt_NETFLOW.c:780:60: warning: format '%lu' expects argument of type 'long
unsigned int', but argument 3 has type 's64' {aka 'long long int'} [-Wformat=]
780 | seq_printf(seq, " Flows selected %lu, discarded
%lu.",
| ~~^
| |
| long
unsigned int
| %llu
781 | atomic64_read(&flows_selected),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| s64 {aka long long int}
ipt_NETFLOW.c:780:75: warning: format '%lu' expects argument of type 'long
unsigned int', but argument 4 has type 's64' {aka 'long long int'} [-Wformat=]
780 | seq_printf(seq, " Flows selected %lu, discarded
%lu.",
|
~~^
|
|
|
long unsigned int
|
%llu
781 | atomic64_read(&flows_selected),
782 | atomic64_read(&flows_observed) -
atomic64_read(&flows_selected));
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| s64 {aka
long long int}
ipt_NETFLOW.c:784:60: warning: format '%lu' expects argument of type 'long
unsigned int', but argument 3 has type 's64' {aka 'long long int'} [-Wformat=]
784 | seq_printf(seq, " Flows selected %lu.",
atomic64_read(&flows_selected));
| ~~^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | s64
{aka long long int}
| long
unsigned int
| %llu
ipt_NETFLOW.c: In function 'usock_open_sock':
ipt_NETFLOW.c:2028:52: error: passing argument 2 of 'sock->ops->bind' from
incompatible pointer type [-Wincompatible-pointer-types]
2028 | if ((error = sock->ops->bind(sock, (struct sockaddr
*)&usock->saddr, salen)) < 0) {
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| struct sockaddr *
ipt_NETFLOW.c:2028:52: note: expected 'struct sockaddr_unsized *' but argument
is of type 'struct sockaddr *'
ipt_NETFLOW.c:2038:42: error: passing argument 2 of 'sock->ops->connect' from
incompatible pointer type [-Wincompatible-pointer-types]
2038 | error = sock->ops->connect(sock, (struct sockaddr
*)&usock->addr, sizeof(usock->addr), 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| struct sockaddr *
ipt_NETFLOW.c:2038:42: note: expected 'struct sockaddr_unsized *' but argument
is of type 'struct sockaddr *'
make[4]: *** [/usr/src/linux-headers-6.19-common/scripts/Makefile.build:292:
ipt_NETFLOW.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.19-common/Makefile:2078: .] Error 2
make[2]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
make[2]: Leaving directory '/var/lib/dkms/ipt-netflow/2.6/build'
make[1]: *** [/usr/src/linux-headers-6.19-common/Makefile:260: __sub-make]
Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.19-amd64'
make: *** [Makefile:27: ipt_NETFLOW.ko] Error 2
# exit code: 2
# elapsed time: 00:00:44
----------------------------------------------------------------
Andreas