127 Commits

Author SHA1 Message Date
David Čermák
113a68fb14 Merge branch 'feat/esp_netif_custom_ip_events' into 'master'
[esp_netif]: Add support for custom got-ip/lost-ip events

Closes IDF-3212

See merge request espressif/esp-idf!42148
2025-10-29 16:09:56 +08:00
David Čermák
8a64cc15a5 Merge branch 'feat/netif_mtu_path_disc' into 'master'
[esp_netif]: Support for MTU path discovery

Closes IDFGH-10355 and IDFGH-14560

See merge request espressif/esp-idf!42088
2025-10-24 13:29:03 +08:00
David Cermak
787bb39765 feat(esp_netif): Support posting event on SNTP time update 2025-10-23 13:56:02 +08:00
David Cermak
4c69bf826f feat(esp_netif): Add support for initial MTU in netif config
Closes https://github.com/espressif/esp-idf/issues/15319
2025-10-23 07:41:42 +02:00
Jiang Jiang Jian
8e1ebcad18 Merge branch 'feat/support_nan_usd' into 'master'
Add support for Unsynchronized Service Discovery (USD)

See merge request espressif/esp-idf!30990
2025-10-22 14:00:49 +08:00
David Cermak
62fd7276b4 feat(esp_netif): Add support for custom got-ip/lost-ip events 2025-10-20 13:46:24 +02:00
Euripedes Rocha
afd7d930ee change(esp_netif): Makes netif receive to return error
Makes esp_netif_recv to return errors unconditionally
2025-10-20 12:22:38 +02:00
David Cermak
fdd86721e7 feat(esp_netif): Support for MTU path discovery
Closes https://github.com/espressif/esp-idf/issues/11613
2025-10-20 11:43:36 +02:00
Sarvesh Bodakhe
4c3d6c1292 fix(wifi): Add refactoring and migration guide for USD, Offchan_tx, ROC
1. fix(wifi): Rename old NAN configuration to NAN-Sync
  - Rename CONFIG_ESP_WIFI_NAN_ENABLE to CONFIG_ESP_WIFI_NAN_SYNC_ENABLE to indicate
    the support for Synchronized NAN (Wi-Fi Aware).
  - Because the original flag really controls the synchronized feature set, rename it
    to CONFIG_ESP_WIFI_NAN_SYNC_ENABLE so the NAN-Sync and NAN-USD paths can be
    selected independently without confusion.
2. Document esp_wifi_start requirement and fix USD examples
3. Rename nan_callbacks to nan_sync_callbacks
4. Remove the discovery_flag, clarify docs for sync vs USD flows, and add USD start/stop APIs
5. Require esp_wifi_start() before USD start
6. docs(nan): add NAN-USD application examples
7. add migration guide and hints for NAN-USD proto field
8. Improve allow_broadcast documentation
9. Add attention to the API esp_wifi_remain_on_channel
10. fix(wifi): align NAN API renames and docs for v6.0
  - keep shared APIs under esp_wifi_nan_* while reserving
    sync/usd names for mode-specific entry points
  - clarify synchronized-cluster scope in headers, docs, and migration notes (EN/zh-CN)
  - update examples for renamed helpers and WIFI_NAN_SYNC_CONFIG_DEFAULT()
  - rename `wifi_nan_config_t` to `wifi_nan_sync_config_t`
11. Mark NAN-USD as esp-idf experimental feature
2025-10-20 12:46:55 +05:30
David Cermak
35b47648e0 fix(esp_netif): Simplify reporting clients hostname 2025-10-02 16:58:15 +08:00
David Čermák
82d8f9f605 Merge branch 'feat/esp_netif_status_event' into 'master'
[esp_netif]: Add support for netif status events

Closes IDF-13357

See merge request espressif/esp-idf!42143
2025-09-27 13:36:03 +08:00
David Čermák
747c172fdc Merge branch 'feat/dhcps_support_hostname_per_client' into 'master'
[lwip/dhcps]: Add support for reporting clients hostname

Closes IDFGH-9326

See merge request espressif/esp-idf!42094
2025-09-26 21:47:50 +08:00
David Cermak
75e0d62739 feat(lwip/dhcps): Add support for reporting clients hostname 2025-09-26 07:54:20 +02:00
David Cermak
48af385311 fix(esp_netif): Add support for netif status events 2025-09-26 07:11:04 +02:00
David Cermak
c9c3e4e972 fix(esp_netif): Remove deprecated APIs 2025-09-24 14:17:36 +02:00
David Čermák
fe059bc551 Merge branch 'fix/esp_netif_const_correct' into 'master'
[esp_netif]: Make esp_netif_ip6_get_addr_type() const correct

Closes IDFGH-15212

See merge request espressif/esp-idf!42085
2025-09-24 14:39:49 +08:00
David Cermak
8c8a680082 fix(esp_netif): Remove doxygen groups as esp-docs is flat docs style
Closes https://github.com/espressif/esp-idf/issues/16993
2025-09-22 20:37:49 +08:00
David Cermak
a7627b0ce2 fix(esp_netif): Make esp_netif_ip6_get_addr_type() const correct
Closes https://github.com/espressif/esp-idf/issues/15882
2025-09-22 11:42:44 +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
Ondrej Kosta
e941910c0f feat(esp_eth): Added destination MAC address filter configuration interface 2025-04-29 13:54:56 +02:00
Jonas Jonsson
b1f63fe9b2 feat(ppp): Improve PPP server + client support
Make it easier to run a PPP server and client on different interfaces by
adding the interface name to logs and expose the PPP passive option.
2025-03-03 16:09:33 +01:00
Jonas Jonsson
0151c8db54 feat(ppp): Allow config PPP DNS servers for peer
Make it possible to set the DNS servers to provide to the peer. This is
useful when acting as a PPP server.

If any DNS server is set, don't request a DNS server from the peer.
2025-03-03 16:09:33 +01:00
Alexey Lapshin
888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
Rocha Euripedes
ebde9ce715 feat(esp_netif): Allows user to set route priority after netif creation 2024-11-25 16:33:27 +08:00
Ondrej Kosta
d2b1202d5a feat(esp_eth): added HW Time Stamping support for ESP32P4
Added mechanism to L2 TAP to retreive time stamp

Added PTP time synchronization example
2024-11-07 15:01:24 +08:00
David Cermak
9b550d77d4 docs(esp_netif): Update ESP-NETIF developers and programmers manual
Made final fixed to both programming manuals and user guidelines
2024-09-26 16:58:01 +02:00
snake-4
09bbc75d96 fix(esp_netif): Fixed initializer order of ESP_IP macros for C++ 2024-09-12 01:25:42 +10: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
17a635b23b fix(esp_netif): Add unit test of getter/setter API for DNS servers 2024-07-04 10:37:57 +02: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
Yogesh Mantri
586207207f change(esp_netif): Add Non-Fatal errtype to indicate lower layer medium failure
UDP application sends packet using esp_netif, underlying transport such
as Wi-Fi may drop the packet due to higher load. New error code
represent transient, non-fatal packet drop error. udp application may
use such errtype, for example to rate limit.
2024-06-11 09:20:49 +02:00
David Cermak
8103d5bc34 fix(esp_netif): Add API docs to DHCP client/server operations 2024-05-09 09:49:47 +02: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
c30f2825d5 fix(netif): Add missing SNTP get-reachablitiy API 2024-02-29 23:37:45 +08:00
David Cermak
73102c60ef fix(lwip): Used dedicated IP4 address type 2024-01-19 17:48:47 +01:00
David Cermak
d707161881 fix(lwip): esp_netif supports esp_netif_get_netif_impl() for PPP 2024-01-18 14:20:39 +08:00
David Cermak
18ff62017a feat(lwip): Add support for PPP server
Added support PPP_SERVER option in LWIP
Added support for configuring preferred addresses of PPP endpoints.
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
David Čermák
a7cba03a28 Merge branch 'fix/netif_macro_semicolon' into 'master'
esp_netif: Remove semicolons from ESP_IP4ADDR_INIT and ESP_IP6ADDR_INIT macros (GitHub PR)

Closes IDFGH-10189

See merge request espressif/esp-idf!26759
2023-11-03 18:25:15 +08:00
Zhang Xiao Yan
dffe28b787 Merge branch 'docs/add_parameter_description_to_esp_netif' into 'master'
docs: add parameter description to esp_netif.h

See merge request espressif/esp-idf!26487
2023-10-19 10:52:51 +08:00
David Čermák
210f757835 Merge branch 'fix/esp_netif_lock' into 'master'
fix(esp_netif): Lock netif list with TCPIP context

Closes IDFGH-11088

See merge request espressif/esp-idf!26164
2023-10-17 21:36:39 +08:00
Linda
6c86424772 docs: add parameter description to esp_netif.h 2023-10-17 10:35:39 +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
David Cermak
966b8620c2 feat(esp_netif): PPP config option to allow disabling LCP runtime
If LCP keepalive mechanism is enabled in menuconfig, it's statically
configured on creation of an interface and cannot be changed runtime. In
some cases it's useful to relax LCP criteria during runtime operation,
for example before initiating OTA. This config option allows for
disabling already enabled LCP echo (this setting becomes effective after
reconnecting, i.e. initializing a new session)

Closes https://github.com/espressif/esp-protocols/issues/287
2023-09-25 16:48:48 +02:00
Ondrej Kosta
3288f83401 feat(network/examples): extended LwIP bridge example
Extended LwIP bridge example to support WiFi AP interface and DHCP Server

https://github.com/espressif/esp-idf/issues/5697
2023-06-30 14:38:24 +02:00