PacketRusher
PacketRusher copied to clipboard
[BUG] build fails with newest versions of the linux kernel
Describe the bug Build fails with newer versions of the kernel because a flag used in the code is at the very least deprecated (I think it's removed but I cannot find where at the moment)
To Reproduce Steps to reproduce the behavior:
- Follow the instruction detailed in the README.MD for installation
- Execute 'make clean && make && sudo make install'
- Build fails
Expected behavior Build should be successful. Removing the problematic line results in the build completing successfully.
Screenshots If applicable, add screenshots to help explain your problem. build fail
build success
Architecture
- OS: EndeavourOS Linux
- Platform: x86_64
- Version: Latest (EndeavourOS uses rolling release)
- Kernel: 6.12.23-1-lts
Log: If applicable, add log files to help understand your problem.
[rakuja@rakuja-tuxedo gtp5g]$ make clean && make && sudo make install
make -C /lib/modules/6.12.23-1-lts/build M=/home/rakuja/Documents/PacketRusher/lib/gtp5g clean
make[1]: Entering directory '/usr/lib/modules/6.12.23-1-lts/build'
make[1]: Leaving directory '/usr/lib/modules/6.12.23-1-lts/build'
make -C /lib/modules/6.12.23-1-lts/build M=/home/rakuja/Documents/PacketRusher/lib/gtp5g modules
make[1]: Entering directory '/usr/lib/modules/6.12.23-1-lts/build'
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtp5g.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/log.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/util.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/dev.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.c:550:6: warning: no previous prototype for ‘increment_and_check_counter’ [-Wmissing-prototypes]
550 | bool increment_and_check_counter(struct VolumeMeasurement *volmeasure, struct Volume *volume, u64 vol, bool uplink, bool mnop){
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.c:591:5: warning: no previous prototype for ‘update_urr_counter_and_send_report’ [-Wmissing-prototypes]
591 | int update_urr_counter_and_send_report(struct pdr *pdr, struct far *far, u64 vol, u64 vol_mbqe, bool uplink) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/hash.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.c: In function ‘gtp5g_link_setup’:
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.c:37:22: error: ‘NETIF_F_LLTX’ undeclared (first use in this function); did you mean ‘NETIF_F_LRO’?
37 | dev->features |= NETIF_F_LLTX;
| ^~~~~~~~~~~~
| NETIF_F_LRO
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.c:37:22: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [scripts/Makefile.build:229: /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.o] Error 1
make[2]: *** [/usr/lib/modules/6.12.23-1-lts/build/Makefile:1944: /home/rakuja/Documents/PacketRusher/lib/gtp5g] Error 2
make[1]: *** [Makefile:224: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.12.23-1-lts/build'
make: *** [Makefile:84: module] Error 2
Build success:
[rakuja@rakuja-tuxedo gtp5g]$ make clean && make && sudo make install
make -C /lib/modules/6.12.23-1-lts/build M=/home/rakuja/Documents/PacketRusher/lib/gtp5g clean
make[1]: Entering directory '/usr/lib/modules/6.12.23-1-lts/build'
make[1]: Leaving directory '/usr/lib/modules/6.12.23-1-lts/build'
make -C /lib/modules/6.12.23-1-lts/build M=/home/rakuja/Documents/PacketRusher/lib/gtp5g modules
make[1]: Entering directory '/usr/lib/modules/6.12.23-1-lts/build'
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtp5g.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/log.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/util.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/dev.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.c:550:6: warning: no previous prototype for ‘increment_and_check_counter’ [-Wmissing-prototypes]
550 | bool increment_and_check_counter(struct VolumeMeasurement *volmeasure, struct Volume *volume, u64 vol, bool uplink, bool mnop){
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/encap.c:591:5: warning: no previous prototype for ‘update_urr_counter_and_send_report’ [-Wmissing-prototypes]
591 | int update_urr_counter_and_send_report(struct pdr *pdr, struct far *far, u64 vol, u64 vol_mbqe, bool uplink) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/hash.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/link.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/net.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/pktinfo.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/pktinfo.c:16:5: warning: no previous prototype for ‘network_and_transport_header_len’ [-Wmissing-prototypes]
16 | u64 network_and_transport_header_len(struct sk_buff *skb) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/pktinfo.c:129:16: warning: no previous prototype for ‘ip4_find_route_simple’ [-Wmissing-prototypes]
129 | struct rtable *ip4_find_route_simple(struct sk_buff *skb,
| ^~~~~~~~~~~~~~~~~~~~~
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/gtpu/trTCM.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_version.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_pdr.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_far.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_qer.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_qer.c:297:5: warning: no previous prototype for ‘concat_bit_rate’ [-Wmissing-prototypes]
297 | u64 concat_bit_rate(u32 highbit, u8 lowbit) {
| ^~~~~~~~~~~~~~~
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_urr.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_report.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/genl/genl_bar.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/api_version.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/pdr.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/far.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/qer.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/urr.o
/home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/urr.c:12:6: warning: no previous prototype for ‘seid_urr_id_to_hex_str’ [-Wmissing-prototypes]
12 | void seid_urr_id_to_hex_str(u64 seid_int, u32 urr_id, char *buff)
| ^~~~~~~~~~~~~~~~~~~~~~
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/bar.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/pfcp/seid.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/src/proc.o
LD [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/gtp5g.o
MODPOST /home/rakuja/Documents/PacketRusher/lib/gtp5g/Module.symvers
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/gtp5g.mod.o
CC [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/.module-common.o
LD [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/gtp5g.ko
BTF [M] /home/rakuja/Documents/PacketRusher/lib/gtp5g/gtp5g.ko
make[1]: Leaving directory '/usr/lib/modules/6.12.23-1-lts/build'
[sudo] password for rakuja:
cp gtp5g.ko /lib/modules/6.12.23-1-lts/kernel/drivers/net
modprobe udp_tunnel
/sbin/depmod -a
modprobe gtp5g
echo "udp_tunnel" > /etc/modules-load.d/gtp5g.conf
echo "gtp5g" >> /etc/modules-load.d/gtp5g.conf
Pcap: If applicable, add pcap files to help understand your problem.
Additional context
Commenting out line 37 of '[...]/PacketRusher/lib/gtp5g/src/gtpu/link.c' works.
@RakuJa
free5GC gtp5g can be built and installed independently of PacketRusher.
This error has been fixed in the following commit on Dec 25, 2024:
https://github.com/free5gc/gtp5g/commit/1c1357b8dcc41984201790828964f04466c7e1e6
Thank you @s5uishida! I'll import the latest gtp5g commits inside the PacketRusher's repository :-)