Commit Graph

136 Commits

Author SHA1 Message Date
David Čermák
bc34abb201 Merge branch 'fix/esp_netif_reassign_static_ip' into 'master'
fix(esp_netif): Fix reasigning static IP after netif down -> up

Closes IDF-13024 and WIFIBUG-1228

See merge request espressif/esp-idf!39725
2025-06-17 16:45:08 +08:00
David Čermák
ce6e136e70 Merge branch 'fix/esp_netif_ip_events' into 'master'
fix(esp_netif): Rename IP_EVENT_AP_STAIPASSIGNED to generic name

Closes IDFGH-14957

See merge request espressif/esp-idf!39425
2025-06-17 16:28:45 +08:00
David Cermak
c57254c4b1 fix(esp_netif): Fix reasigning static IP after netif down -> up
Fixes regression from 307f45d5 (ip_info should be cleaned, but only if we're running DHCP client on that netif)
2025-06-06 15:43:53 +02:00
David Cermak
63acb01dc1 fix(esp_netif): Rename IP_EVENT_AP_STAIPASSIGNED to generic name
Since it's the DHCP server that assigned and IP to a client,
(the DHPCS doesn't have to be an AP, and DHCPC doesn't have to
be a station or an Eth netif)

Closes https://github.com/espressif/esp-idf/issues/15663
2025-05-30 16:42:38 +02:00
David Cermak
b90c12c30f fix(esp_netif): Fix incorrect DHCP call for PPP interfaces
Closes https://github.com/espressif/esp-protocols/issues/800
2025-05-27 20:07:34 +08:00
Ondrej Kosta
e941910c0f feat(esp_eth): Added destination MAC address filter configuration interface 2025-04-29 13:54:56 +02:00
Abhik Roy
b3523a6fbe fix(dhcps): Fixed DNS server handling for previous breaking changes 2025-02-17 13:19:28 +11:00
Lorenzo Consolaro
0fd3984c72 feat(dhcps): Support for multiple DNS servers 2025-02-17 13:15:03 +11:00
David Cermak
307f45d512 fix(esp_netif): Fix posting GOT_IP after LOST_IP 2025-02-11 11:20:49 +01:00
David Čermák
daa980ffab Merge branch 'fix/esp_netif_ppp_nullptr_check' into 'master'
fix(esp_netif): Prevent null deref when checking netif type

See merge request espressif/esp-idf!34911
2024-12-05 17:16:04 +08:00
Rocha Euripedes
ebde9ce715 feat(esp_netif): Allows user to set route priority after netif creation 2024-11-25 16:33:27 +08:00
David Cermak
4e088964ef fix(esp_netif): Prevent null deref when checking netif type
Most esp_netif public API check for invalid arguments, but when enabling
PPP the macros to check netif type could potentially dereference
esp_netif without any null-check.

Releted to https://github.com/espressif/esp-idf/issues/14816
2024-11-14 12:37:48 +01:00
David Cermak
720b74026c fix(esp_netif): Use internal DHCP struct 2024-09-11 16:48:06 +02:00
zwx
47f730645c feat(esp_netif): add an API to get all preferred ip6 addresses 2024-08-14 16:25:41 +08:00
David Cermak
95169eb929 feat(esp_netif): Add support for IPv6 autoconfig flag per netif 2024-07-17 21:41:09 +08:00
David Cermak
562abca17d fix(esp_netif): Remove unused leftover pppapi_set_auth() call 2024-07-12 10:43:58 +02:00
Zhang Wen Xu
3c9cd354ec Merge branch 'bugfix/esp_netif_get_ip6addr_should_be_valid' into 'master'
fix(esp_netif): netif should return only valid addr

See merge request espressif/esp-idf!31880
2024-07-09 11:17:44 +08:00
David Cermak
6acdb384f6 fix(esp_netif): Restore DNS servers per netif when setting it default
Introducing config option `CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF`
to overcome LWIP limitation of using global DNS server info.
This config option enables LWIP callbacks to collect per netif DNS
server info and then restores global DNS servers of whichever network
interface is selected as default.

LWIP submodule update: git log --oneline aa4f6e78..3a3d1fb3
- dns: Allow storing dnsserver per netif (espressif/esp-lwip@3a3d1fb3)
2024-07-04 10:37:22 +02:00
zwx
64aa5db0cd fix(esp_netif): netif should return only valid addr 2024-07-03 15:07:18 +08:00
Alexey Lapshin
b0ba5689f1 Merge branch 'feature/gcc-fanalyzer' into 'master'
feat(ci): add gnu static analyzer job

See merge request espressif/esp-idf!30902
2024-06-19 19:31:53 +08:00
David Čermák
1fd6a83f62 Merge branch 'fix/netif_napt_fix' into 'master'
fix(esp_netif): Don't warn about disabling napt if wasn't enabled

See merge request espressif/esp-idf!31076
2024-06-19 17:36:22 +08:00
Alexey Lapshin
ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
David Cermak
d3567b080f fix(esp_netif): Don't warn about disabling napt if wasn't enabled 2024-06-10 13:34:06 +02:00
Wang Qixiang
a2be60a697 Merge branch 'bugfix/mldv6_report_memory_leak' into 'master'
fix(esp_netif): Fix mldv6 report memory leak in esp_netif

Closes IDF-9990

See merge request espressif/esp-idf!30916
2024-05-24 15:06:13 +08:00
Abhik Roy
443843b362 Merge branch 'examples/icmpv6_ping_readme_update' into 'master'
docs(examples): Added network config to icmpv6_ping readme

Closes IDFGH-11853 and IDF-9847

See merge request espressif/esp-idf!29400
2024-05-21 18:23:45 +08:00
WanqQixiang
1595388a7e fix(esp_netif): Fix mldv6 report memory leak in esp_netif 2024-05-17 15:53:55 +08:00
Abhik Roy
437f08100d fix(esp_netif): Fixed Coverity issue CID 459204
Closes IDF-9847

See merge request espressif/esp-idf!29400
2024-05-07 20:43:22 +10:00
jkingsman
3035ce294d feat(esp_netif): add support for DHCP Option 114 captive portal URI
DHCP Option 114 provides a modern method of indicating a captive
portal redirect to DHCP client. This introduces Option 114 to
the DHCPS component as well as provides examples for usage.
2024-05-02 22:50:09 +08:00
Abhik Roy
ad9787bb4d feat(esp_netif): Allow traffic reporting runtime enable/disable 2024-04-22 11:27:43 +10:00
Dr. Michael Lauer
5debb23da9 feat(esp_netif): Allow traffic reporting
This enables traffic indicators or data traffic statistics.
2024-04-22 11:22:29 +10:00
David Cermak
965ba606a7 fix(esp_netif): Post IP_CHANGE event also if mask and GW is ANY
Closes https://github.com/espressif/esp-idf/issues/12927
2024-04-04 08:12:43 +02:00
David Cermak
d707161881 fix(lwip): esp_netif supports esp_netif_get_netif_impl() for PPP 2024-01-18 14:20:39 +08:00
Abhik Roy
325a8d7a6e feat(esp_netif): Added code to expose api to add and remove ipv6 address 2024-01-09 18:00:47 +08:00
xueyunfei
02c1a1c6af fix(dhcp server):dhcp server can not restore address pool 2023-12-05 15:56:20 +08:00
xueyunfei
5982d1cda4 Fix(dhcps):fix dhcp subnet option api dos not work issue 2023-11-15 10:53:50 +08:00
Xue Yun Fei
e64712b263 Merge branch 'lost_timer_failed_to_start_when_sta_is_connected' into 'master'
esp-netif:lost timer failed to start when sta is disconnected

Closes WIFI-5984

See merge request espressif/esp-idf!24076
2023-10-19 14:12:17 +08:00
David Cermak
88d18e9a40 fix(esp_netif): Mark esp_netif_next deprecated and fix usages
* Uses netif_find_if() in IPv6 examples
* Fixes esp_netif_next() usage in L2TAP
2023-10-13 15:56:45 +02:00
David Cermak
606363897c feat(esp_netif): Added new API to search in netif list 2023-10-13 15:56:30 +02:00
David Cermak
36735f4d77 fix(esp_netif): Lock netif list with TCPIP context
This commit removes the lock from the list manipulation code in esp_netif_objects.c,
 because we already have another lock/task context for lwip.
So the list manipulation is unsafe and safety must be assured by the stack layer
(in esp_netif_lwip).
Problems with current locking:
* implementation of locking was wrong -- lazy init style of creating the mutex is not
  thread safe (and destroying it if we have no interface makes the problem exhibit very frequently)
* locking only the list won't solve issues when assessing interfaces atomically
* maintaining multiple locks is problematic, as we often switch between
lwip context and user context in internal implementation of esp_netif_lwip

Closes https://github.com/espressif/esp-idf/issues/12261
2023-10-13 15:54:53 +02:00
xueyunfei
e9949d4782 lost timer failed to start when sta is connected 2023-10-09 02:14:25 +00:00
xueyunfei
fff7c6a399 fix(dhcp server):fix set dhcp server poll fail issue 2023-09-13 10:20:02 +08:00
David Cermak
ca44460359 esp_netif: Fix Wno-format issues 2023-08-14 14:13:33 +02:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
David Cermak
7d6241e761 esp_netif: Make esp_netif_receive() return value configurable 2023-04-05 12:18:21 +02:00
David Cermak
8855ddf044 esp_netif: Report error if esp_netif_receive() fails
Closes https://github.com/espressif/esp-idf/issues/10770
2023-04-05 12:18:21 +02:00
Abhik Roy
8e71e96603 lwip/esp_napt: Added api to enable/disable napt based on esp_netif. 2023-03-23 20:38:03 +11:00
David Cermak
97e785c01d lwip:esp_netif: Send Periodic Gratuitous ARP only on valid IPv4
It was possible that the device would send a Gratuitous ARP before
acquiring a valid address, advertising it has 0.0.0.0 address.
2023-03-17 09:18:53 +01:00
xueyunfei
ad0b32c662 lwip: solve some routers do not forward multicast packet issue 2023-03-08 16:58:29 +08:00
David Cermak
5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
David Cermak
fa97004faf lwip: Support for linux target
Implement linux port layer and reuse the original FreeRTOS layer
that's compiled and used on linux target as well, by means of FreeRTOS
simulator.
2023-01-31 08:43:45 +01:00