Erik Ekman
e04da0d828
pkg/lwip: Lock core before calling netif_get_ip6_addr_match in sock
2021-07-15 15:46:10 +02:00
Erik Ekman
c50604b63c
pkg/lwip: Add assert on incorrect thread usage
2021-07-15 15:46:10 +02:00
Erik Ekman
4e01900108
pkg/lwip: Start DHCP on correct interface
...
Fix for #16229
2021-07-13 13:45:16 +02:00
Jose Alamos
4e6f299af0
lwip: avoid explicit cast to netdev
2021-07-09 11:35:16 +02:00
iosabi
e469f2dea4
lwip_sock: Make sock_tcp_read return data if available
...
When reading from the socket with `sock_tcp_read()` it would only return
data from at most one internal connection buffer, even if the buffer
passed to `sock_tcp_read()` is larger and there is more data available
in the connection. This patch makes `sock_tcp_read` process all the
available data so long as there's more data to read available
immediately.
2021-04-10 18:45:57 +02:00
iosabi
afddb46c51
lwip_sock: Fix computation of last_offset on partial reads.
...
lwip receives network buffers that are made available to lwip_sock_tcp
calling `netconn_recv_tcp_pbuf`. The size of these buffers depends on
the size of the network packets. An application calling `sock_tcp_read`
can pass any arbitrary buffer size to read (copy) from these internal
network buffers, which may be smaller. lwip_sock_tcp keeps around the
last network buffer (`struct pbuf last_buf`) and the offset into this
buffer already consumed by the application (`last_offset`).
However, when multiple application reads from the same `pbuf` buffer
occur, the `last_offset` must be updated incrementing it. The code had
a bug that would work only when `last_offset` was either 0 (no previous
partial read) or when the current read was consuming all the remaining
data (when `buf_len == copylen`).
This patch fixes the issue an allows multiple reads from the same
buffer.
2021-04-04 12:45:54 +02:00
Erik Ekman
6b89f4f34b
pkg/lwip: Start DHCP early for all Ethernet netifs
...
Netifs without link status support will keep sending discover
messages with increasing time between.
Netifs that support link status will wait for the link to be up,
and then start sending.
Netifs that support link status but send no link status events
will continue to not work (unless link status is up from the
first check when setting it up).
2021-03-25 16:01:27 +01:00
benpicco
9cad382dc8
Merge pull request #16153 from yarrick/netif_add
...
pkg/lwip: Add netifs with netif_add_noaddr
2021-03-25 13:36:17 +01:00
benpicco
b0364941b5
Merge pull request #16082 from yarrick/link_state
...
pkg/lwip: Set netif link state properly when supported
2021-03-25 13:36:07 +01:00
Erik Ekman
d3ba3117f2
pkg/lwip: Use NETIF_FOREACH macro in sock implementation
...
Decreases dependency on lwIP internals, and will handle LWIP_SINGLE_NETIF.
2021-03-06 11:27:14 +01:00
Erik Ekman
9b03b79a85
pkg/lwip: Add netifs with netif_add_noaddr
...
Makes 6lowpan netifs work even if dual stack is enabled,
and one less static method needed.
2021-03-05 00:17:17 +01:00
Erik Ekman
60d5d1aa74
pkg/lwip: Set link state properly when supported
...
Set link state correctly in lwIP for interfaces that support
the NETOPT_LINK option. Interfaces that do not support it
(like tap for native arch) remain up all the time.
Netdevs that support NETOPT_LINK but do not send NETDEV_EVENT_LINK_UP/DOWN
events will end up with a mismatched link state - but DHCP would
already not start for them either.
Use netifapi to signal lwIP to do the work in its own thread.
2021-03-01 23:55:08 +01:00
Benjamin Valentin
a57e58d6ef
lwip: hook up sam0_eth support
2021-02-26 12:54:40 +01:00
Martine Lenders
afb027852d
Merge pull request #15992 from yarrick/more_lwip
...
Add lwIP ifconfig shell command
2021-02-23 16:59:41 +01:00
Erik Ekman
9da7ea2dec
pkg/lwip: Name sixlowpan netifs
2021-02-23 11:47:33 +01:00
Martine Lenders
de4ee0f934
Merge pull request #15562 from benpicco/socket_zep_register
...
socket_zep: register with netdev, provide EUI-64 as command line parameter
2021-02-20 20:32:01 +01:00
Erik Ekman
a29c835b2e
lwip/esp: Support adding both netifs (eth/wifi)
2021-02-13 15:42:33 +01:00
Benjamin Valentin
d8918c24fa
socket_zep: register with netdev
2021-01-25 22:59:01 +01:00
f4523140f1
pkg/lwip: fix typo (semaphor => semaphore)
2021-01-08 10:15:33 +01:00
Marian Buschsieweke
77b39c5550
pkg/lwip: Implement sock_aux_local
...
Provide address the IP packet / UDP datagram was received on in the auxiliary
data, if module sock_aux_local is used.
2020-12-04 12:51:48 +01:00
Marian Buschsieweke
9d46bc7d7f
Merge pull request #14703 from maribu/sock-aux-api
...
net/sock: Add access to auxiliary data (API only)
2020-12-03 12:08:49 +01:00
Marian Buschsieweke
893bfd13d0
net/sock_udp: Extend API for auxiliary data
2020-12-02 17:56:13 +01:00
Marian Buschsieweke
ebcf1c0ab4
net/sock_ip: Extend API for auxiliary data
2020-12-02 17:56:13 +01:00
Martine Lenders
71224b4b1e
lwip_sock: use new mbox_avail() function
2020-11-20 13:09:42 +01:00
Bas Stottelaar
38a5ff7d4b
pkg/*: realign ENABLE_DEBUG
2020-10-23 02:43:10 +02:00
Bas Stottelaar
970c72a0cb
pkg/*: add missing include of assert.h
2020-10-22 11:13:08 +02:00
Jose Alamos
246acb311f
lwip: adapt bootstrap for nrf802154
2020-10-19 15:18:35 +02:00
Benjamin Valentin
1afe72a5e5
drivers/enc28j60: register with netdev
2020-10-08 10:36:56 +02:00
Benjamin Valentin
988ee1648f
drivers/mrf24j40: register with netdev
2020-10-07 16:39:39 +02:00
Benjamin Valentin
53eedc283b
drivers/at86rf2xx: register driver with netdev
2020-08-17 22:53:51 +02:00
Marian Buschsieweke
00c44b0924
pkg/lwip: Use IS_ACTIVE() & NETCONNTYPE_ISIPV6()
...
This also fixes an issue detected by `tests/lwip_sock_udp` when both IPv4 and
IPv6 are enabled.
2020-07-31 13:27:09 +02:00
Gunar Schorcht
b64ce62a8f
pkg/lwip: fixes the netif handling for atwinc15x0
...
With PR #14349 the double stack mode for lwIP was activated. The ATWINC15x0 driver was provided before the changes in PR #14349 but merged after that. Therefore, the changes for the driver were not taken into account anymore and have to be applied accordingly.
2020-06-27 11:09:50 +02:00
Gunar Schorcht
f92d2acb0a
pkg/lwip: support of ATWINC15x0 WiFi netdev
2020-06-26 12:33:38 +02:00
Martine S. Lenders
e80c473830
pkg/lwip: only use ip4_addr_t component of IP4_ADDR_ANY at bootstrap
...
IP4_ADDR_ANY is a generic address of type IPv4 when lwIP is compiled
with both IPv4 and IPv6, so we need to extract the `ip4_addr_t`
component when using with `netif_add()` as that is the expected type.
2020-06-25 12:45:37 +02:00
Martine S. Lenders
c0b7560dde
pkg/lwip: remove code duplication for IPv4-based netif initialization
2020-06-25 12:45:37 +02:00
Martine S. Lenders
035acc2e53
pkg/lwip: remove ipv6only clause for AF_INET6 sockets
2020-06-24 18:44:06 +02:00
2778e037fe
Merge pull request #14220 from aabadie/pr/pkg/lwip_nrf802154
...
pkg/lwip: add support for nrf802154
2020-06-16 11:13:33 +02:00
MichelRottleuthner
bd44f63557
Merge pull request #14150 from miri64/lwip/enh/netdev_tap_ipv4
...
lwip: add IPv4 support for `netdev_tap`
2020-06-09 14:30:02 +02:00
Martine S. Lenders
f5c4a05281
lwip: add IPv4 support for netdev_tap
2020-06-09 12:12:54 +02:00
b3620b35b8
pkg/lwip: add support for nrf802154
2020-06-07 21:24:14 +02:00
Martine Lenders
a38428b8f2
Merge pull request #13701 from miri64/lwip_sock/enh/recv_buf
...
lwip_sock: provide implementation for `sock_*_recv_buf()`
2020-05-26 21:33:09 +02:00
Martine S. Lenders
ef1d458089
lwip_sock: re-issue receive events if there are still received messages
...
... after `*_recv()` or `*_accept()` was called.
This prevents a client from needing to call `*_recv()` or `*_accept()`
in a loop.
2020-05-12 14:19:34 +02:00
Martine S. Lenders
77b89bb968
lwip_sock: provide implementation for sock_*_recv_buf()
2020-04-28 09:46:07 +02:00
Martine S. Lenders
29651da8f4
lwip_sock: update implementation for async callback argument
2020-03-11 16:54:12 +01:00
Martine S. Lenders
612e782b3c
sock_async: supply optional callback argument with callback setter
2020-03-11 16:54:11 +01:00
Martine S. Lenders
6e6e435c65
sock_async: add optional callback argument
2020-03-11 16:54:11 +01:00
Martine Lenders
1a4e6e9cdb
lwip_sock_tcp: close accepted connection if queue is full
2020-03-06 11:29:45 +01:00
Martine S. Lenders
e98e2f6143
lwip: fix style errors found by Vera++
2020-03-06 11:29:45 +01:00
Martine S. Lenders
fc67e6143a
lwip: provide sock_async support
2020-03-06 11:28:16 +01:00
Martine S. Lenders
20805548b3
lwip: introduce sock base-type
2020-02-21 19:07:47 +01:00
Giuseppe Tipaldi
c8426ce8f5
pkg/lwip: add auto-init support for transciever ENC28J60
2020-01-31 22:01:49 +01:00
Martine Lenders
87d00ab294
Merge pull request #12932 from miri64/lwip_sock/fix/sock-cleanup
...
lwip_sock: clean-up connection handling without a sock.
2020-01-09 15:00:55 +01:00
benpicco
4f4e7cde16
Merge pull request #12965 from gschorcht/pkg/lwip/ipv4_dhcp
...
pkg/lwip: start DHCP for a netif with lwip_dhcp
2019-12-18 09:21:29 +01:00
Gunar Schorcht
ff506ccf07
pkg/lwip: start DHCP for a netif with lwip_dhcp
...
The NETDEV_EVENT_LINK_UP is used to start DHCP for a network interface
2019-12-18 07:16:41 +01:00
Gunar Schorcht
ddc34b4d73
cpu/esp: fix lwip for IPv4 and esp_wifi
2019-12-17 08:28:33 +01:00
Gunar Schorcht
3257c8e9f5
Merge pull request #12903 from wosym/lwip_stm32_ipv4
...
Add IPv4 support for LWIP-stm32
2019-12-16 11:45:24 +01:00
Wouter Symons
a3145a0ad0
pkg/lwip: correct coding style
2019-12-16 10:29:21 +01:00
Wouter Symons
5c42f680ed
pkg/lwip: add IPv4 support for LWIP-stm32
2019-12-16 10:28:46 +01:00
Gunar Schorcht
91e764a538
pkg/lwip: add esp_eth for lwIP and IPv4
2019-12-15 19:11:58 +01:00
Gunar Schorcht
4e003b5608
pkg/lwip: add ESP32 esp_eth netdev
2019-12-14 16:59:54 +01:00
Wouter Symons
49a8f64c62
pkg/lwip: fix memory issue when sending with empty sock
2019-12-13 17:28:32 +01:00
Martine S. Lenders
e96bc2a13d
lwip_sock: additional indirection of conn is unnecessary
...
Either the sock is provided with `sock_*_send()` or not. In the first
case the indirection is not necessary, and in the second we need to
delete the created `conn` within `lwip_sock_send()` anyway, so returning
it makes no sense.
2019-12-12 11:19:51 +01:00
Martine S. Lenders
80c23cfbf3
lwip_sock: check if sock is set before dereferencing it
2019-12-12 11:01:30 +01:00
Wouter
ed9cdb221a
Add LWIP stm32 glue code
...
Fix minor coding style issues
2019-12-06 16:26:31 +01:00
Gunar Schorcht
074369fbb5
pkg/lwip: changes for ESP8266 esp_wifi
2019-11-14 12:04:29 +01:00
Martine S. Lenders
0a2945164c
lwip: improve and fix documentation
2019-10-09 14:45:30 +02:00
Martine Lenders
4c88cb5f0e
lwip: sys_arch: replace sched_switch() with thread_yield_higher()
...
`sched_switch()` is supposed to be used in core only.
This fixes #6756 .
2019-09-24 16:33:11 +02:00
Martine Lenders
1dc6bded04
Merge pull request #11946 from gschorcht/cpu/esp32/lwip_netdev
...
cpu/esp32: lwIP netdev
2019-08-07 08:10:03 +02:00
Benjamin Valentin
66117601bb
pkg: make use of ARRAY_SIZE macro
2019-08-06 19:43:54 +02:00
Gunar Schorcht
d4f818b5f3
pkg/lwip: add esp_wifi network device
...
The changes allow to use an esp_wifi network device of ESP32 with lwIP.
2019-08-06 19:12:29 +02:00
Martine Lenders
301b6555aa
lwip: use l2util_ipv6_iid_from_addr() instead of NETOPT_IPV6_IID
2019-03-27 11:48:49 +01:00
Martine Lenders
98ac1249bf
Merge pull request #10114 from miri64/pkg/enh/lwip-socket_zep
...
pkg/lwip: provide socket_zep support
2019-03-26 21:17:48 +01:00
120a46c784
pkg/lwip: use xtimer_set64() in sys_arch_mbox_fetch()
...
Used _xtimer_set64 previously, which expects ticks instead of us.
That broke on non-1us xtimer ticks (e.g., hifive1 with 32kHZ).
2019-02-21 13:53:21 +01:00
Martine Lenders
fd69f2e63f
lwip_netdev: fix setting of link-local address for 6Lo
2018-10-15 21:32:34 +02:00
Martine Lenders
6822f90004
lwip_sock: adapt for address zoning
2018-10-15 21:32:34 +02:00
Martine Lenders
0abd89e7e6
pkg/lwip: provide socket_zep support
...
This brings 802.15.4 support for native to lwIP. I used this to find
[this bug][1] and thought it might also be useful upstream. Downside:
There is no automated test for it yet.
[1]: https://savannah.nongnu.org/bugs/?54749
2018-10-05 10:39:38 +02:00
Martine Lenders
6c58441d06
lwip: fix lwip thread_create() wrapper
2018-07-17 14:13:01 +02:00
e7debdb865
lwip: explicitly set required netdev events
2018-07-12 12:00:39 +02:00
Martine Lenders
0151655de5
lwip_sock_udp: provide port for #9376 API fix
2018-06-20 14:51:17 +02:00
70407a1a3e
pkg*: fix doxygen grouping
2018-06-11 19:12:02 +02:00
403faf2314
pkg/lwip: update to use iolists
2018-03-06 14:00:32 +01:00
smlng
e381317fbf
make: fix sign-compare errors
...
cpu, nrf5x_common: fix sign-compare in periph/flashpage
drivers, periph_common: fix sign-compare in flashpage
cpu, sam0_common: fix sign-compare error in periph/gpio
cpu, cc2538: fix sign-compare in periph/timer
cpu, sam3: fix sign-compare in periph/gpio
cpu, stm32_common: fix sign-compare in periph/pwm
cpu, stm32_common: fix sign-compare in periph/timer
cpu, stm32_common: fix sign-compare in periph/flashpage
cpu, nrf5x_common: fix sign-compare in radio/nrfmin
cpu, samd21: fix sign-compare in periph/pwm
cpu, ezr32wg: fix sign-compare in periph/gpio
cpu, ezr32wg: fix sign-compare in periph/timer
drivers, ethos: fix sign-compare
sys, net: fix sign-compare
cpu, atmega_common: fix sign-compare error
cpu, msp430fxyz: fix sign-compare in periph/gpio
boards, msb-430-common: fix sign-compare in board_init
driver, cc2420: fix sign-compared
sys/net: fix sign-compare in gnrc_tftp
driver, pcd8544: fix sign-compare
driver, pn532: fix sign-compare
driver, sdcard_spi: fix sign-compare
tests: fix sign_compare
sys/net, lwmac: fix sign_compare
pkg, lwip: fix sign-compare
boards, waspmote: make CORECLOCK unsigned long to fix sign_compare error
tests, sock_ip: fix sign compare
tests, msg_avail: fix sign compare
tests, sock_udp: fix sign compare
boards: fix sign-compare for calliope and microbit matrix
2017-11-28 11:55:48 +01:00
f5a4124866
Merge pull request #6976 from miri64/conn/cleanup/rm
...
net: remove conn API
2017-05-12 16:09:00 +02:00
Martine Lenders
48aae4ef2f
lwip: port to v2.0.2
2017-05-11 11:49:38 +02:00
Martine Lenders
13770361bb
net: remove conn API
...
conn was deprecated in 38217347
. 3 Releases later and now that no module
is using it RIOT-internally anymore, I think it is time to say goodbye.
2017-04-28 15:23:54 +02:00
Martine Lenders
fd16692c1c
Merge pull request #6696 from lebrush/fix/semaphore
...
sys: sema: semaphore bugfixes
2017-03-28 20:54:06 +02:00
Oleg Hahm
409183d95d
pkg: lwip: do not panic on failing netdev->recv()
2017-03-20 11:44:20 +01:00
Martine Lenders
29842bb5e4
netdev2: rename to netdev and remove gnrc_netdev
...
With some minor hand-edits I used the following chain of commands:
```sh
git rm sys/include/net/gnrc/netdev.h
git grep --name-only -i netdev2 | \
xargs sed -i -e 's/^\(NETDEV\)2\(.*\)\( [("]\)/\1\2 \3/g' \
-e 's/\(netdev\)2\(.*\)\( \/\*\*<\)/\1\2 \3/I' \
-e 's/\(netdev\)2/\1/gI'
git add -p
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
grep "netdev2" | xargs -I'{}' dirname '{}' | uniq | \
grep "netdev2" | while read dir; do
new_dir="$(echo "$dir" | sed "s/netdev2/netdev/g")"
git mv -f "$dir" "$new_dir"
done
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
grep "netdev2" | while read file; do
new_file="$(echo "$file" | sed "s/netdev2/netdev/g")"
git mv -f "$file" "$new_file"
done
git commit --amend
git grep --name-only "\<drivers_netdev_netdev\>" | \
xargs sed -i "s/\<drivers_netdev_netdev\>/drivers_netdev_api/g"
git add -p
git commit --amend
```
2017-03-15 09:31:20 +01:00
Victor Arino
a4bb7b8d58
pkg/lwip: use blocking sema_wait
2017-03-06 18:03:27 +01:00
Martine Lenders
b915d15de1
pkg: provide sock_tcp support for lwip
2017-02-13 20:10:42 +01:00
Peter Kietzmann
e5e79c2834
Merge pull request #5937 from miri64/pkg/feat/lwip-sock-udp
...
pkg: provide sock_udp support for lwip
2017-02-08 09:43:20 +01:00
Martine Lenders
a45256a2a7
pkg: provide sock_udp support for lwip
2017-02-07 15:48:47 +01:00
672da2c457
drivers/mrf24j40: initial mrf24j40 support
2017-01-26 10:05:20 +01:00
Oleg Hahm
693636690c
Merge pull request #6399 from OlegHahm/timex_constants
...
timex: unambiguous time conversion macros
2017-01-19 17:29:26 +01:00
Francisco Acosta
70fbcbf7ed
Merge pull request #6311 from miri64/native/enh/multi-tap
...
cpu/native: allow for multiple netdev2_tap devices
2017-01-19 14:56:55 +01:00
Oleg Hahm
4f4214235b
timex: unambiguous time conversion macros
2017-01-19 13:18:08 +01:00
Martine Lenders
1f6f02e196
cpu/native: adapt start-up and auto-init for multiple netdev2_tap
2017-01-19 12:07:10 +01:00
Victor Arino
49adbf24da
pkg/lwip: use new sema implementation
2017-01-19 08:59:17 +01:00
Peter Kietzmann
1730b883ef
Merge pull request #5936 from miri64/pkg/feat/lwip-sock-ip
...
pkg: provide sock_ip support for lwip
2017-01-17 13:19:00 +01:00
Martine Lenders
bf60c2fbfa
pkg: provide sock_ip support for lwip
2017-01-17 09:00:44 +01:00