Skip to content

[BUG] build fails with newest versions of the linux kernel #181

Description

@RakuJa

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:

  1. Follow the instruction detailed in the README.MD for installation
  2. Execute 'make clean && make && sudo make install'
  3. 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

Image

build success

Image

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.
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions