Commit Graph
100 Commits
Author SHA1 Message Date
David Čermák 943dd72da0 Merge branch 'feature/esp_emac_improvements_v5.3' into 'release/v5.3'
Feature/esp emac improvements (v5.3)

See merge request espressif/esp-idf!31368
2024-06-11 23:44:01 +08:00
David Čermák 952bdbde06 Merge branch 'fix/examples_sta2eth_hostname_clarify' into 'master'
fix(examples): Fix sta-2-eth README to clarify wifi.settings is hostname

See merge request espressif/esp-idf!29625
2024-04-11 19:58:33 +08:00
David Čermák f7fceb55d3 Merge branch 'fix/newlib_timefunc_weak' into 'master'
fix(newlib): Allow for timefunc customization if not implemented

See merge request espressif/esp-idf!30059
2024-04-09 20:11:19 +08:00
David Cermak b1ea47af4c fix(newlib): Allow for timefunc customization if not impl
Related https://github.com/espressif/esp-idf/issues/11873
2024-04-09 16:49:16 +08:00
David Čermák 999d3e0d91 Merge branch 'fix/linux_console_macos' into 'master'
fix(console): Fix linux target build on MacOS

See merge request espressif/esp-idf!30005
2024-04-05 13:00:09 +08:00
David Čermák 295f908ef2 Merge branch 'fix/netif_ip_changed' into 'master'
fix(esp_netif): Post IP_CHANGE event also if mask and GW is ANY

Closes IDFGH-11836

See merge request espressif/esp-idf!29719
2024-04-04 16:01:20 +08:00
David Čermák 5c97c40689 Merge branch 'fix/ci_check_public_headers' into 'master'
fix(ci): Simplify public header checker

See merge request espressif/esp-idf!29446
2024-04-04 15:13:09 +08:00
David Cermak 4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02: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 bd8b1eca9e fix(console): Fix linux target build on MacOS
We're correctly checking for the CONFIG_IDF_TARGET_LINUX macro, but before including sdkconfig.h
2024-04-02 15:14:19 +02:00
David Cermak 132135519d fix(wifi): Remove optional dependency on esp_wifi_remote if !ESP_WIFI_ENABLED
The dependency could be introduced from dependent component if needed.
The else() part of the condition wasn't correct, as it didn't check for
esp_wifi_remote from component manager, which is prefixed by Espressif
namespace, so the correct statement would be:
if(espressif__esp_wifi_remote IN_LIST build_components)
2024-03-27 16:50:38 +01:00
David Cermak 199d416bc5 feat(lwip): SNTP: Add support for adjusting startup delay 2024-03-15 16:58:54 +01:00
David Cermak b8903e7470 fix(examples): Fix sta-2-eth README to clarify wifi.settings is hostname 2024-03-13 17:54:08 +01:00
David Čermák 9e0ad656c9 Merge branch 'fix/sntp_getreachability' into 'master'
fix(netif): Add missing SNTP get-reachablitiy API

Closes DOC-7124

See merge request espressif/esp-idf!28659
2024-03-01 16:22:33 +08:00
David Cermak c30f2825d5 fix(netif): Add missing SNTP get-reachablitiy API 2024-02-29 23:37:45 +08:00
David Čermák 403b4fdcfe Merge branch 'fix/esp_netif_sntp' into 'master'
fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times

Closes IDFGH-11754

See merge request espressif/esp-idf!28338
2024-02-08 00:12:03 +08:00
David Cermak feef14b43b fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times
Closes https://github.com/espressif/esp-idf/issues/12854
2024-02-07 09:09:59 +01:00
David Cermak 344cb342b8 fix(esp_wifi): Support for esp_wifi_remote 2024-02-01 12:17:43 +01:00
David Cermak 597f2ce001 fix(esp_wifi): Split public/native, wifi_types.h -> types_generic.h 2024-02-01 12:17:43 +01:00
David Cermak 9088655030 fix(esp_wifi): Separate public and native wifi interface types 2024-02-01 12:17:37 +01:00
David Cermak 07d60b1c04 feat(esp_wifi): Add dependency on wifi_remote for chips with no wifi 2024-02-01 11:26:22 +01:00
David Čermák bc7e87b416 Merge branch 'feat/lwip_ppp_more_opts' into 'master'
lwip: PPP configs to enable/disable: Server side, IP header compression

See merge request espressif/esp-idf!27799
2024-01-30 20:17:50 +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 63e8e01646 feat(lwip): Added PPP config option to control VJ header compression 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
David Čermák 9614300f81 Merge branch 'lwip/ip6_debug_fix' into 'master'
fix(lwip): Fixed debug format, added ci test config

See merge request espressif/esp-idf!27133
2023-12-22 15:28:52 +08:00
David Čermák 4a2af43535 Merge branch 'fix/docs_update_proto_p4' into 'master'
docs(network): Update network/proto API refs and guides for ESP32P4

Closes IDF-7764

See merge request espressif/esp-idf!27589
2023-12-21 00:55:40 +08:00
David Cermak e3a02d78c8 docs(network): Update network/proto API refs and guides for ESP32P4 2023-12-20 23:07:35 +08:00
David Čermák c008a515b3 Merge branch 'fix/esp_netif_test_depends_pattern' into 'master'
fix(esp_netif): Update test-apps dependency patterns

Closes IDF-8393

See merge request espressif/esp-idf!27682
2023-12-09 00:18:49 +08:00
David Cermak a1e92d3b34 fix(esp_netif): Update test-apps dependency patterns 2023-12-08 14:03:37 +00:00
David Čermák 096d1ce1bb Merge branch 'feat/http_client_session_ticket' into 'master'
feat(http_client): Restore TLS session and custom transport

See merge request espressif/esp-idf!26059
2023-12-01 15:11:20 +08:00
David Cermak 96069eef3b feat(http_client): Add support for using custom tcp_transport 2023-11-29 20:48:40 +01:00
David Cermak 7e22a13afe feat(http_client): Add support for TLS session tickets 2023-11-29 20:48:35 +01:00
David Čermák 17f6528718 Merge branch 'bugfix/lwip_dns_docs' into 'master'
fix(lwip): Document DNS limitation in lwIP

See merge request espressif/esp-idf!27099
2023-11-22 20:39:22 +08:00
David CermakandWang Ziyan 1f6a927e33 fix(lwip): Document DNS limitation in lwIP
* Add a note that DNS server config is global in lwIP
* Add a section about defining LWIP config macros from CMake
* Mention the DNS limitation in ESP-IDF additions to lwIP
* Update CN for lwIP DNS limitation

Co-Authored-By: Wang Ziyan <wangziyan@espressif.com>
2023-11-22 08:48:33 +01:00
David Čermák 0d12732b4c Merge branch 'bugfix/dhcp_opts_vsi_vci' into 'master'
lwip: Fix receiving of DHCP vendor info (GitHub PR)

Closes IDFGH-10591

See merge request espressif/esp-idf!25043
2023-11-14 22:36:10 +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
David Čermák ef8a4dc6ff Merge branch 'fix/netif_sntp_examples' into 'master'
fix(examples): Fix usage of SNTP netif API in examples

See merge request espressif/esp-idf!26717
2023-11-01 02:23:47 +08:00
David Čermák 283a3d64b9 Merge branch 'feat/common_connect_ppp' into 'master'
feat(examples): Add PPP to common connection component

See merge request espressif/esp-idf!26315
2023-10-31 18:59:38 +08:00
David Cermak 327629c527 feat(example): Use PPP config in one MQTT example
to be build in CI, but only running PPP on UART to avoid adding tinyusb
dependency.
2023-10-30 14:50:03 +01:00
David Cermak 1780bababd feat(examples): Add PPP to common connection component 2023-10-30 14:50:00 +01:00
David Cermak a9846479ff fix(examples): Fix usage of SNTP netif API in examples 2023-10-27 09:28:20 +02: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
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 Čermák 4ec2c70536 Merge branch 'bugfix/napt_updates' into 'master'
feat(lwip): Forward port some useful updates and fixes to NAPT

Closes IDF-7580

See merge request espressif/esp-idf!26198
2023-10-04 17:00:02 +08:00
David Čermák 3b2a22f65a Merge branch 'feat/esp_netif_ppp_opts' into 'master'
feat(esp_netif): PPP netif extend config/use RAM pbufs

Closes IDFGH-10017

See merge request espressif/esp-idf!26057
2023-09-29 13:15:25 +08:00
David Cermak 10a5fcf99e feat(esp_netif): PPP: Use RAM allocated pbufs instead of POOL (fixed size)
PPP netif: Used allocated packet buffers of exact size
for input to TCP/IP stack to consume less memory in download mode
(compared to the previously used fixed sized packet buffers)
2023-09-25 16:48:48 +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
David Čermák 5f115cced8 Merge branch 'bugfix/http_client_tcp_config' into 'master'
http_client: Set common tcp config to both TCP and SSL transport

See merge request espressif/esp-idf!25354
2023-09-08 13:36:11 +08:00
David Cermak 7c012e3fe1 fix(http_client): Set common tcp config to both TCP and SSL transport
Foundation transport contained TCP properties for both TCP and SSL
transport, so it was enough to set the TCP connection properties
(keepalive, interface binding) to one transport only. After merging
5778a7c7 we have separate TCP properties for these transports and need
to set the same for both.
This commit also fixes unnecessary allocation of 1 more byte for if_name

Closes https://github.com/espressif/esp-protocols/issues/322
2023-09-07 08:33:44 +02:00
David Čermák cdfd5a7eec Merge branch 'lwip/dhcp_client_fix_forwardport' into 'master'
Fix: Added check to ensure safe restart of dhcp fine timer

Closes IDFGH-9738

See merge request espressif/esp-idf!24705
2023-08-18 12:03:18 +08:00
David Čermák 30068b6ee0 Merge branch 'update/format_warn_lwip_tcptransport' into 'master'
lwip: Fix print format -Wformat issues

See merge request espressif/esp-idf!23080
2023-08-15 22:58:17 +08:00
David Cermak c510560890 lwip: Fix print format -Wformat issues 2023-08-15 11:01:01 +02:00
David Čermák 9f69f881ab Merge branch 'bugfix/esp_netif_print_format' into 'master'
esp_netif: Fix Wno-format issues

See merge request espressif/esp-idf!22217
2023-08-15 13:58:15 +08:00
David Cermak ca44460359 esp_netif: Fix Wno-format issues 2023-08-14 14:13:33 +02:00
David Čermák 70951831c0 Merge branch 'bugfix/netif_default_sta_init' into 'master'
wifi: Fix default wifi-netif creation to assert if no event loop

Closes IDFGH-10321

See merge request espressif/esp-idf!24361
2023-07-21 21:56:37 +08:00
David Cermak 20fcc23f88 fix(wifi): Fix default wifi-netif creation to assert if no event loop
- Added ESP_ERROR_CHECK() checks to `esp_wifi_set_default_wifi_..._handlers()` calls
- Added ESP_ERROR_CHECH() to `esp_netif_attach_wifi_...()` calls
- Updated documentation to reflect the changes

Closes https://github.com/espressif/esp-idf/issues/11580
2023-07-10 16:56:16 +02:00
David Čermák 28c643a56d Merge branch 'feature/example_network_wifi_bridge_provisioning' into 'master'
Examples/Network: Add WiFi to Eth/USB bridge example

See merge request espressif/esp-idf!23978
2023-06-16 01:04:32 +08:00
David Cermak 7302801bda Examples/network: sta-2-wired to support HW address update in DHCP
* Add support for runtime update of DHCP packets that contain HW
addresses (some routers wouldn't assing IP if the MAC was spoofed
only in Ethernet and ARP frames)
* Simplify Ethernet initialization using default eth-netif glue
2023-06-15 09:41:04 +02:00
David Čermák fd8ed0df36 Merge branch 'bugfix/lwip_dhcps_hook_types' into 'master'
lwip: Fix incorrect invocation of the hook `LWIP_HOOK_DHCPS_POST_APPEND_OPTS`

Closes IDFGH-10099 and IDFGH-10098

See merge request espressif/esp-idf!23793
2023-06-12 20:18:58 +08:00
David Cermak 022ddb1106 Examples/network: Add security options to provision sta-wired example 2023-06-08 07:38:04 +02:00
David Cermak 6ac17b5020 Examples/network: Add Ethernet iface to sta-2-wired bridge
* adds description about that it's not a bridge, but more like an 1:1
forwarder on L2
* add and describe mac spoofing for Ethernet interface
* describe virtual networking for USB-NCM interface
2023-06-08 07:33:52 +02:00
David Cermak 08c5e6e07c provisioning: Add httpd transport (alias of softAP, netif agnostic)
The script works the same way with httpd and softap mode, but it's a bit
confusing to provision the device over Ethernet or USB and call the
transport "softap". That's why we introduce an alias called httpd which
uses the same idea (http server with service name), but that service
runs on any interface (where the specified service is available)
2023-06-08 07:33:52 +02:00
David Cermak c603e2d956 Examples/network: Add wifi station to usb 1:1 forwarder (L2) 2023-06-08 07:33:48 +02:00
David Čermák 9f9bd8c033 Merge branch 'feature/usb_device/ncm' into 'master'
usb: Add NCM device example

See merge request espressif/esp-idf!22232
2023-06-08 13:20:43 +08:00
David Cermak 6edd1be973 Examples/http-server: Make DNS server a simple configurable component 2023-06-07 08:46:24 +02:00
David Čermák 5f07a7d5ff Merge branch 'bigfix/examples_ping_console' into 'master'
examples: Fix icmp-echo to auto connect to Ethernet/WiFi if selected

Closes IDFGH-9272

See merge request espressif/esp-idf!23764
2023-05-26 04:44:10 +08:00
David Cermak 5abeac9d91 examples: Fix icmp-echo to auto connect to Ethernet/WiFi if selected
Closes https://github.com/espressif/esp-idf/issues/10655
2023-05-25 14:25:09 +00:00
David Čermák 914652c804 Merge branch 'bugfix/sntp_cpp_compat' into 'master'
esp_netif: Fix invalid conversion from int to enumeration in c++ build (GitHub PR)

Closes IDFGH-10115

See merge request espressif/esp-idf!23867
2023-05-25 15:28:06 +08:00
David Čermák f21505da46 Merge branch 'bugfix/linux_freertos_select_wrap' into 'master'
freertos/linux: Fix use after scope exit in select() wrap

See merge request espressif/esp-idf!23755
2023-05-18 13:16:47 +08:00
David Cermak a41d360842 freertos/linux: Fix use after scope exit in select() wrap 2023-05-15 10:28:54 +02:00
David Čermák 292d16b440 Merge branch 'bugfix/linux_target_with_out_lwip' into 'master'
linux: Add lwip support to networking components under linux

See merge request espressif/esp-idf!23053
2023-05-05 17:26:45 +08:00
David Cermak b2af4d9689 lwip/linux: Add lwip support for networking component under linux
linux/lwip: Wrap some IO posix functions
* to workaourd the FreeRTOS EINTR issue (when building without lwip)
* to correctly choose the sub-system based on fd (when building with
lwip) -- passing control to either linux/system or to lwip
This commit also addapts tapio-if to provide DHCP client by default and
configurable settings for static IP
2023-05-05 05:03:39 +00:00
David Čermák a153a49102 Merge branch 'contrib/github_pr_11253' into 'master'
examples: avoid the divide by zero error (GitHub PR)

Closes IDFGH-9968

See merge request espressif/esp-idf!23356
2023-04-24 13:15:13 +08:00
David Čermák e888bb0cf8 Merge branch 'bugfix/esp_netif_recieve_returns' into 'master'
esp_netif: Report error if esp_netif_receive() fails

Closes IDFGH-9398

See merge request espressif/esp-idf!22936
2023-04-20 17:47:28 +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
David Čermák 6643bc9704 Merge branch 'update/docs_h2_network_proto' into 'master'
docs: Update Network & Protocols sections for H2

See merge request espressif/esp-idf!22866
2023-03-29 16:19:41 +08:00
David Cermak d864c6df5a docs: Update Network & Protocols sections for H2 2023-03-29 07:29:07 +02:00
David Čermák 826c927c09 Merge branch 'bugfix/lwip_remove_afl' into 'master'
lwip: Remove AFL based fuzzer tests

See merge request espressif/esp-idf!22805
2023-03-22 14:59:50 +08:00
David Cermak 924bac9956 lwip: Remove AFL based fuzzer tests
Also removed compilation pre-checks and jobs from the CI, and test data
2023-03-20 17:47:23 +00: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
David Čermák 76730607a7 Merge branch 'bugfix/lwip_opts_sock_macro_param' into 'master'
lwip: Fix lwiopts macro expansion

See merge request espressif/esp-idf!22745
2023-03-15 20:24:45 +08:00
David Cermak ffd1386a2e lwip: Fix lwiopts macro expansion
Minor issue in lwipopts.h in macro expansion in parameters (cosmetic
change: it expands correctly but doesn't pass the expected argument)
2023-03-13 19:32:11 +01:00
David Čermák 956e62c461 Merge branch 'feature/lwip_ipv6_only' into 'master'
lwip: Support IPv6 only mode

Closes IDF-6023

See merge request espressif/esp-idf!20468
2023-03-01 21:38:10 +08:00
David Čermák 4bef5f9056 Merge branch 'bugfix/lwip_sntp_enabled_missing' into 'master'
lw-ip: Add missing esp_sntp_enabled()

See merge request espressif/esp-idf!22480
2023-03-01 19:07:06 +08:00
David Cermak 5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
David Cermak 708641204e lwip: Add missing esp_sntp_enabled() 2023-02-24 07:23:55 +01:00
David Čermák 31f5c73d5f Merge branch 'esp32h2_spi_ethernet_support' into 'master'
ESP32H4 SPI ETHERNET SUPPORT

See merge request espressif/esp-idf!21183
2023-02-15 13:55:30 +08:00
David Čermák 080fd7e14f Merge branch 'bugfix/lwip_dhcp_restore_last' into 'master'
lwip: fix dhcp_server path (GitHub PR)

Closes IDFGH-9297 and IDFGH-9309

See merge request espressif/esp-idf!22251
2023-02-08 15:07:49 +08:00
David Čermák b37980d26e Merge branch 'bugfix/mqtt_docs_migration_5.x' into 'master'
mqtt/docs: Mention removal of user_context in 5.x migration guide

Closes IDFGH-9261

See merge request espressif/esp-idf!22177
2023-02-02 18:55:29 +08:00
David Cermak 2f8b12deb4 mqtt/docs: Mention removal of user_context in 5.x migration guide
update CN for migration-guides/release-5.x/5.0/protocols.rst
Co-Authored-By: Wang Zi Yan <wangziyan@espressif.com>

Closes https://github.com/espressif/esp-idf/issues/10644
2023-02-02 10:41:21 +01:00
David Čermák 4414e7f09e Merge branch 'bugfix/precommit_isort_deprecation' into 'master'
ci: Fix pre-commit hook per isort deps deprecation

See merge request espressif/esp-idf!22203
2023-02-02 17:03:41 +08:00
David Cermak 6e29d3c8ad ci: Fix pre-commit hook per isort deps deprecation
isorts dependecy became deprecated. Fixed to use 5.12.0 version of isort pre-commit
2023-02-02 08:44:09 +01:00
David Čermák 5ada761a7b Merge branch 'update/esp_netif_test_cleanup' into 'master'
esp_netif/tests: Consolidate test_apps/unit_test

Closes IDF-5579 and IDF-5047

See merge request espressif/esp-idf!21929
2023-02-02 13:49:43 +08:00
David Cermak cbff23cfdb ci: Fix false positive err-logs on static-assert check 2023-02-02 04:14:34 +00:00
David Cermak 7ae58e223d esp_netif/tests: Consolidate test_apps/unit_test
* Remove duplicated test cases
* Migrated remaining unit tests to test_apps
2023-02-01 14:17:09 +01:00