Pull in lwip_netdev for netdev integration automatically if there is
any netdev to integrate, otherwise don't pull in the module.
As a result, applications no longer need to select that module by hand.
This is directly useful for the two driver using the bhp API, but also
other drivers profit from not loosing IRQs.
The main selling point is that this paves the way for implementing
netdev_driver_t::confirm_send().
Co-authored-by: benpicco <benpicco@googlemail.com>
Co-authored-by: Erik Ekman <eekman@google.com>
* Added arch_64bit feature and added it to all packages that require 32 bit.
* hacl, wolfssl: Fixed different types between function declaration and implementation.
* lwip: Add required flag for 64 bit and bug fix in `lwip_sock`.
* micro-ecc: Workaround for GCC warning when using `__int128`.
lwIP has already used its own log level when deciding what to print.
If we reach the LWIP_PLATFORM_DIAG message no further filtering should
happen, so set the log level to match the macro used.
This fixes the missing IP addresses from ifconfig. Before:
> ifconfig
Iface ET0 HWaddr: 24:0a:c4:e6:0e:9f Link: up State: up
Link type: wired
inet addr: mask: gw:
inet6 addr: scope: link state: valid preferred
inet6 addr: scope: global state: valid preferred
Iface ET1 HWaddr: 24:0a:c4:e6:0e:9c Link: up State: up
Link type: wireless
inet addr: mask: gw:
inet6 addr: scope: link state: valid preferred
inet6 addr: scope: global state: valid preferred
>
With this change:
> ifconfig
Iface ET0 HWaddr: 24:0a:c4:e6:0e:9f Link: up State: up
Link type: wired
inet addr: 10.4.4.81 mask: 255.255.254.0 gw: 10.4.4.1
inet6 addr: fe80:0:0:0:260a:c4ff:fee6:e9f scope: link state: valid preferred
inet6 addr: 2001:db8:0:0:260a:c4ff:fee6:e9f scope: global state: valid preferred
Iface ET1 HWaddr: 24:0a:c4:e6:0e:9c Link: up State: up
Link type: wireless
inet addr: 10.4.4.86 mask: 255.255.254.0 gw: 10.4.4.1
inet6 addr: fe80:0:0:0:260a:c4ff:fee6:e9c scope: link state: valid preferred
inet6 addr: 2001:db8:0:0:260a:c4ff:fee6:e9c scope: global state: valid preferred
>
Without initializing async_cb to NULL it might be a value != NULL,
which leads to sock->async_cb.gen() being called mistakenly in _netconn_cb.
gnrc_sock already does it with "reg->async_cb.generic = NULL;"
As a leftovers from https://github.com/RIOT-OS/RIOT/pull/18355 are still
present that check for `MODULE_SHELL_COMMANDS` rather than
`MODULE_SHELL_CMDS`. This updates the conditionals as needed.
- most were trivial
- missing group close or open
- extra space
- no doxygen comment
- name commad might open an implicit group
this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
Otherwise if the cable is connected at boot the immediate NETDEV_EVENT_ISR
event signaling connection will not trigger the isr, and the netdev will not
clear its pending event.
This explains why the connect/rx event clash seen in "esp32/eth: Don't
overwrite queued event with RX packet" (95196fb7e4) only happened
with lwIP.
Now on my ESP32 board with Ethernet the issue was the opposite (since IDF
upgrade), the stuck connected event blocked receive from working. After
this change 95196fb7e4 can be reverted since even early events are
consumed properly.
This mostly converts switch statements from double indent style to
Linux kernel style, as required per the coding convention.
From the C compiler perspective, this is a whitespace only change.