Skip to content

tests/lwip: does not compile for IPv4 on 6LoWPAN-based boards. #17162

@miri64

Description

@miri64

Description

The tests/lwipapp does not compile for 6LoWPAN boards when LWIP_IPV4=1 is set.

BOARD=iotlab-m3 LWIP_IPV4=1 make -C tests/lwip flash -j
make: Entering directory '/home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip'
Building application "tests_lwip" for "iotlab-m3" with MCU "stm32f1".

[INFO] updating lwip /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/.pkg-state.git-downloaded
echo 159e31b689577dbf69cf0683bbaffbd71fa5ee10 > /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/.pkg-state.git-downloaded
[INFO] patch lwip
"make" -C /home/mlenders/Repositories/RIOT-OS/RIOT/pkg/lwip
"make" -f /home/mlenders/Repositories/RIOT-OS/RIOT/Makefile.base MODULE=lwip_api -C /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/api
"make" -f /home/mlenders/Repositories/RIOT-OS/RIOT/Makefile.base MODULE=lwip_core -C /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/core
"make" -f /home/mlenders/Repositories/RIOT-OS/RIOT/Makefile.base MODULE=lwip_ipv4 -C /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/core/ipv4
"make" -f /home/mlenders/Repositories/RIOT-OS/RIOT/Makefile.base MODULE=lwip_ipv6 -C /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/core/ipv6
"make" -f /home/mlenders/Repositories/RIOT-OS/RIOT/Makefile.base MODULE=lwip_netif -C /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/netif
/home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/pkg/iotlab-m3/lwip/src/core/init.c:224:2: error: #error "LWIP_ETHERNET needs to be turned on for LWIP_ARP or PPPOE_SUPPORT"
  224 | #error "LWIP_ETHERNET needs to be turned on for LWIP_ARP or PPPOE_SUPPORT"
      |  ^~~~~

Not sure if this was already the case on the introduction of IPv4 to that app in d536235, as the build there aborts with

$ BOARD=iotlab-m3 LWIP_IPV4=1 make -C tests/lwip flash -j
make: Entering directory '/home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip'
Building application "tests_lwip" for "iotlab-m3" with MCU "stm32f1".

/bin/sh: line 1: /home/mlenders/Repositories/RIOT-OS/RIOT/dist/tools/kconfiglib/genconfig.py: No such file or directory
make: *** [/home/mlenders/Repositories/RIOT-OS/RIOT/makefiles/kconfig.mk:104: /home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip/bin/iotlab-m3/generated/autoconf.h] Error 127
make: Leaving directory '/home/mlenders/Repositories/RIOT-OS/RIOT/tests/lwip'

It "builds" "again" for 9c8b7a0 (with the bkup issue on Arch that was fixed in #16753), but that one does not have the changes from d536235 and the merge commit after reveals the first error above. Question is: does it make sense to support IPv4 on 6LoWPAN boards, as there is no spec for IPv4 for over IEEE 802.15.4 as there is for IPv6 (aka 6LoWPAN ;-)).

Steps to reproduce the issue

Run

BOARD=iotlab-m3 LWIP_IPV4=1 make -C tests/lwip flash -j

or

BOARD=iotlab-m3 LWIP_IPV4=1 LWIP_IPV6=1 make -C tests/lwip flash -j

(alternatively, use any other board that does not have an Ethernet-based interface)

Expected results

Application builds.

Actual results

Compilation errors with

  224 | #error "LWIP_ETHERNET needs to be turned on for LWIP_ARP or PPPOE_SUPPORT"
      |  ^~~~~

Versions

Might be the case ever since d536235

Metadata

Metadata

Labels

Area: networkArea: NetworkingArea: pkgArea: External package portsDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PRType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions