Commit Graph
100 Commits
Author SHA1 Message Date
David Čermák 36f49f361c Merge branch 'bugfix/esp_netif_clean_deps_lwip' into 'master'
esp-netif/lw-ip: Make dependencies one-directional

Closes IDF-4459, IDF-4460, IDF-1099, and IDFGH-6287

See merge request espressif/esp-idf!18084
2022-07-21 20:18:05 +08:00
David Cermak b8fa24d100 esp_netif/openthread: Update ot_br and ot_port libs
Add libraries with ot_port, that includes netif/lwip port layers
in esp-openthread
2022-07-21 10:01:19 +02:00
David Cermak e7afdff6ca esp_netif: Make set_link_speed() conditional on MIB2_STATS 2022-07-20 14:59:34 +02:00
David Cermak 89bb1fdec1 esp_netif: Add error checks to dhcp server state transitions 2022-07-20 14:59:34 +02:00
David Cermak e85f45b539 examples/cxx: Remove esp_modem examples
Examples are maintained and supported in esp-protocols
2022-07-20 14:59:33 +02:00
David Cermak 5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
David Čermák e7ccaaf9ca Merge branch 'feature/update_mqtt_client' into 'master'
[MQTT] - Updates esp_mqtt configuration struct

See merge request espressif/esp-idf!18101
2022-07-20 19:52:04 +08:00
David Čermák d1dc30fd70 Merge branch 'example/icmpv6_ping' into 'master'
examples: Add ICMPv6 Echo Request/Reply example.

See merge request espressif/esp-idf!18731
2022-07-19 05:04:02 +08:00
David Čermák 5548f5acd6 Merge branch 'bugfix/lwip_ondemand_timers_num_system_timeout' into 'master'
lw ip: Fix on-demand timers to update internal system touts

Closes IDFGH-7595

See merge request espressif/esp-idf!18724
2022-07-18 21:56:57 +08:00
David Čermák 1334011d4f Merge branch 'bugfix/transport_foundation_intialization' into 'master'
tcp_transport: Fix initialition of transport

See merge request espressif/esp-idf!17869
2022-07-16 16:28:49 +08:00
David Čermák c65d818c1d Merge branch 'bugfix/set_ipv6_dns_error' into 'master'
lw ip: Fixed that ipv6 dns cannot work

See merge request espressif/esp-idf!19018
2022-07-15 14:50:02 +08:00
David Čermák 1a7dfa42e6 Merge branch 'bugfix/cpp_include_fix_newlib_net_if_h' into 'master'
Add C++ include guard to if.h (to fix linker errors in asio) (GitHub PR)

Closes IDFGH-7718

See merge request espressif/esp-idf!18850
2022-07-15 13:16:47 +08:00
David Cermak adb79a4852 newlib: Fix header issues with C++ guards and implicit inclusion
* Added C++ sentinels if missed
* Used #pragma once, removed macro's with leading underscores
* Updated copyright checker to allow "BSD-2-Clause-FreeBSD AND
Apache-2.0" for newlib files
* Fixed minor compilation issues/implicit inclusions
2022-07-14 08:32:04 +02:00
David Cermak 58b0def0d9 lwip: Fix on-demand timers to update internal system touts
If on-demand timers (IGMP+MLD6) were enabled, idf updated user config
MEMP_NUM_SYS_TIMEOUT. The implementation of these timers are in lwip
project so the internal system timeout shall be updated accordingly,
enabling port layers to modify MEMP_NUM_SYS_TIMEOUT.

Closes https://github.com/espressif/esp-idf/issues/9150
2022-07-14 05:09:53 +00:00
David Čermák 53b9213757 Merge branch 'bugfix/mqtt_ping_timer_restart' into 'master'
[MQTT] - Adds esp-timer as dependency and update esp_mqtt.

See merge request espressif/esp-idf!18409
2022-07-05 22:01:32 +08:00
David Čermák 8417079218 Merge branch 'component/asio_migration' into 'master'
ASIO: Remove internal component, examples, test and docs

Closes IDF-4625

See merge request espressif/esp-idf!18297
2022-07-05 21:26:48 +08:00
David Čermák e4928d2751 Merge branch 'bugfix/ci_lwip_sntp_2_servers' into 'master'
ci/lw-ip: Use 2 SNTP public servers in CI config

See merge request espressif/esp-idf!18795
2022-07-05 17:23:47 +08:00
David Čermák 46fe7dbc8c Merge branch 'component/mdns_migration' into 'master'
mdns: Remove internal component, examples, test and docs

Closes IDF-4074

See merge request espressif/esp-idf!17683
2022-07-04 17:45:27 +08:00
David Cermak d06d7deacd ci/lwip: Use 2 SNTP public servers in CI config 2022-07-01 05:23:53 +00:00
David Čermák 5fcb860a10 Merge branch 'bugfix/lwip_gcc11_warnings' into 'master'
lw ip: suppress some GCC 11 warnings

See merge request espressif/esp-idf!18479
2022-06-30 13:48:47 +08:00
David Čermák 8678f9a9f4 Merge branch 'bugfix/esp_eth_test_hotfix' into 'master'
esp_eth: pytest_esp_eth CI timeout hotfix

See merge request espressif/esp-idf!18666
2022-06-28 23:11:26 +08:00
David Čermák a6980a6b6a Merge branch 'bugfix/mqtt_host_test' into 'master'
MQTT: Fix compilation of networking host tests

Closes IDF-4286

See merge request espressif/esp-idf!18099
2022-06-13 13:13:00 +08:00
David Cermak 877eb62602 mqtt: Update tests to start with valid transport 2022-06-11 14:23:35 +02:00
David Cermak 0aea4bf50d mqtt: Fix client_enqueue(len=0), Improve transport memory
* Update submodule: git log --oneline 64f88b4412ea6649dbf207a07370c2617160d044..a21c387d6280260894981c22494017c893d505b9

Detailed description of the changes:
* mqtt_client: Added checks for cleanly-closed connection and timeout
  - See merge request espressif/esp-mqtt!118
  - Added checks for cleanly-closed connection and timeout (espressif/esp-mqtt@e05d873)
* mqtt_client: fix esp_mqtt_client_enqueue for len=0 (GitHub PR)
  - See merge request espressif/esp-mqtt!135
  - mqtt_client: fix esp_mqtt_client_enqueue for len=0 (espressif/esp-mqtt@69b6493)
* Fix implicit malloc/free inclusion
  - See merge request espressif/esp-mqtt!134
  - See commit https://github.com/espressif/esp-mqtt/commit/9299f54
* feat(mqtt): Optimize mqtt transport list and remove unused transport
  - See merge request espressif/esp-mqtt!131
  - See commit https://github.com/espressif/esp-mqtt/commit/647e0ef
* Fix WSS default port selection through menuconfig.
  - See merge request espressif/esp-mqtt!132
  - - Closes https://github.com/espressif/esp-mqtt/issues/223
  - See commit https://github.com/espressif/esp-mqtt/commit/f6caaff
2022-06-11 14:23:35 +02:00
David Cermak 1ad3e2db17 mqtt: Fix and add mqtt host test to CI 2022-06-11 14:23:30 +02:00
David Čermák 2c1f7a044e Merge branch 'bugfix/esp_netif_clean_deps' into 'master'
esp-netif: Make dependency on esp-eth optional

Closes IDF-4459

See merge request espressif/esp-idf!17980
2022-06-11 14:12:52 +08:00
David Cermak fd366fac9e esp_eth: Remove deprecated esp_eth_receive() 2022-06-09 07:55:40 +00:00
David Cermak 343cf2696e esp_eth: Reduce internal deps onto netif-glue 2022-06-09 07:55:40 +00:00
David Cermak 5e19b9c951 esp-netif: Make dependency on esp-eth optional
* esp-netif to optionally depend on esp-eth (only for l2tap config)
* esp_eth.h now includes the original ethernet header and the
ethernet-netif glue layer
* Updated examples and test to explicitely use esp-eth dependency if
needed
2022-06-09 07:55:40 +00:00
David Cermak 680f3a50c2 esp_eth: Rename drivers main header to esp_eth_driver
The original  would be used as API header bringing both driver and netif related includes
2022-06-09 07:55:40 +00:00
David Čermák f9c8d635c5 Merge branch 'feature/tcp_transport' into 'master'
tcp_transport: optimize memory

See merge request espressif/esp-idf!18102
2022-06-09 15:25:08 +08:00
David Čermák 46e599c56d Merge branch 'feature/lwip_rework_patches' into 'master'
lw-IP: Reworked patches

Closes IDFGH-6197

See merge request espressif/esp-idf!17388
2022-06-03 15:26:55 +08:00
David Cermak c67f4c2b4c lwip: Remove vanilla-lwip config until it's fully deployable 2022-06-02 20:45:24 +02:00
David Cermak 7efcb5e625 lwip: Add missing null-checks, rename to vanilla-lwip 2022-06-01 20:38:40 +02:00
David Cermak 00377cf2e5 lwip/ci: Cleanup public header checker ignore list 2022-06-01 14:36:58 +02:00
David Cermak 8b40579aa4 lwip: Move wifi's custom pbuf alloc/free to IRAM if config 2022-05-31 16:21:47 +02:00
David Cermak 0e71a325de lwip/wifi: Improve Rx throughput on the wifi defaults (sta+ap) 2022-05-31 15:23:06 +02:00
David Čermák 6f3d021d60 Merge branch 'bugfix/esp_netif_ip6_multicast_api' into 'master'
esp_netif: Fix inversion error in leave_ipv6 api (GitHub PR)

Closes IDFGH-7412

See merge request espressif/esp-idf!18184
2022-05-26 15:57:00 +08:00
David Čermák 8153695192 Merge branch 'contrib/github_pr_8962' into 'master'
Update echo_example_main.c (GitHub PR)

Closes IDFGH-7382

See merge request espressif/esp-idf!18126
2022-05-20 04:14:48 +08:00
David Cermak 60fc1ae035 lwip: Removed incorrect-fix 358ee481 2022-05-18 17:11:35 +02:00
David Cermak d50739adec lwip: forgotten ip4_route_src_hook to IRAM 2022-05-18 17:11:35 +02:00
David Cermak e7f19f39bc lwip: Fix the CI 2022-05-18 17:11:35 +02:00
David Cermak 09aa24632a esp_netif: Support IPv6 autoconfig is enabled in menuconfig 2022-05-18 17:11:35 +02:00
David Cermak a6154a5f10 lwip: Update default MEMP_NUM_SYS_TIMEOUT if timers on-demand 2022-05-18 17:11:35 +02:00
David Cermak 5d6afa3c4b dhcp: Implement additional dhcp options 2022-05-18 17:11:35 +02:00
David Cermak 1564e8d5a9 lwip: Implement DHCP hook supporting MTU option 2022-05-18 17:11:35 +02:00
David Cermak 5aa3be11fd dhcpserver: Minor #idfef fix 2022-05-18 17:11:35 +02:00
David Cermak b6eb9002a8 add dhcp custom values 2022-05-18 17:11:35 +02:00
David Cermak 356bc603c4 lwip: Support DHCP restore last IP 2022-05-18 17:11:35 +02:00
David Cermak 7a04eb8d66 lwip: Reference specific ESP patches
Also adding ip4_napt.c to sources, as it's added by ESP-patches
2022-05-18 17:10:42 +02:00
David Cermak 53c009e626 lwip: Update socket API to include port-version of sockets/netdb
Added socket extention to the lwip hooks for implementing non-vanilla
{get/set}sockopts()
2022-05-18 17:10:42 +02:00
David Cermak e909cd5219 tcp_transport/test: Fix localhost interface name
Per lwip spec it's two letter's name plus index, i.e. "lo0"
(the reason "lo" was accepted before was bug in lwip)
2022-05-18 17:10:42 +02:00
David Cermak 44a9620c17 esp_netif: Add thread safe pppapi set_auth API to esp-netif 2022-05-18 17:10:42 +02:00
David Cermak dbc91f73e6 lwip: Use custom pbufs for eth and wifi port/netif 2022-05-18 17:10:42 +02:00
David Cermak 65bf5f2b10 lwip: Add mem-heap options to support ALLOCATION_FROM_SPIRAM_FIRST 2022-05-18 17:10:42 +02:00
David Cermak 06263efe0b lwip: Add IPv4 route hook to the esp32 port 2022-05-18 17:10:42 +02:00
David Cermak 808ac7427a lwip: Add freertos sys-arch port layer
Added sys_thread_sem_func(), sys_sem_signal_isr(), g_lwip_task
2022-05-18 17:10:42 +02:00
David Cermak b0e4ae4a5e examples: Minor fixes in udp_nulticast socket examples
Make sure that IPv6 mapped IPv4 addresses are not used when using
vanilla lwip
2022-05-18 17:10:42 +02:00
David Cermak 5b471a1848 esp_netif/lwip: Implement basic support for vanilla-lwip (2.1.3-REL)
* Reference lwip-2.1.3-REL vanilla lwip version
* Use inherent NETIF callbacks instead of dhcp/ipv6/autoip
2022-05-18 17:10:42 +02:00
David Čermák 285c6fc906 Merge branch 'bugfix/vfs_sock_select_race' into 'master'
vfs: Fix potential select() race if both sock and other-fd trigger

Closes IDFGH-7308

See merge request espressif/esp-idf!18023
2022-05-17 15:28:48 +08:00
David Čermák d6459ab1a3 Merge branch 'bugfix/mqtt_read_neg_and_ping' into 'master'
mqtt: Fix incorrect reads on error; Update ping processing

Closes IDFGH-6859 and IDFGH-6930

See merge request espressif/esp-idf!18095
2022-05-17 03:02:59 +08:00
David Cermak bf8ceae780 vfs: Fix potential select() race if both sock and other-fd trigger
This fixes a potential race condition in select() if both a socket-fd
and non-socket fd trigger simultaneously to unblock this select.
In case of both fds, we use lwip's local thread semaphore, so we only
have to try return it (if it was taken/triggered more than once) when
we exit select().

Closes https://github.com/espressif/esp-idf/issues/8896
2022-05-16 20:26:44 +02:00
David Cermak 58cf25193d mqtt: Fix incorrect reads on error; Update ping processing
* Update submodule: git log --oneline 4874bab35659bd2301e65fd849f6559d7380d4f1..64f88b4412ea6649dbf207a07370c2617160d044

Detailed description of the changes:
* Fix documentation of config struct
  - See merge request espressif/esp-mqtt!129
  - See commit https://github.com/espressif/esp-mqtt/commit/e31834c
* Changes the moment we update keepalive_tick.
  - See merge request espressif/esp-mqtt!127
  - See commit https://github.com/espressif/esp-mqtt/commit/2c2e6f3
* MQTT: Fix signature matching for some integer values
  - See merge request espressif/esp-mqtt!128
  - Closes https://github.com/espressif/esp-idf/issues/8482
  - MQTT: Fix signature matching for integer values (espressif/esp-mqtt@6b794e4)
* Make the mqtt submodule logging tags lower case
  - See merge request espressif/esp-mqtt!122
  - See commit https://github.com/espressif/esp-mqtt/commit/fb3184c

Closes https://github.com/espressif/esp-idf/issues/8482
Closes https://github.com/espressif/esp-idf/issues/8550
2022-05-16 20:23:26 +02:00
David Čermák 2941cd353a Merge branch 'bugfix/tcp_transport_documentation' into 'master'
tcp_transport: Fix documentation for connect functions

See merge request espressif/esp-idf!17270
2022-04-30 07:45:21 +08:00
David Čermák b85c44403a Merge branch 'bugfix/asio_example_config' into 'master'
[EXAMPLES/ASIO] Renames Kconfig parameter and clarify

See merge request espressif/esp-idf!17769
2022-04-26 13:24:17 +08:00
David Čermák a7c1112ca4 Merge branch 'feature/ws_client_support_cont_frames' into 'master'
transport_ws: Parse and expose frame fin flag

Closes IDFGH-6767 and IDFGH-6737

See merge request espressif/esp-idf!17748
2022-04-14 23:18:12 +08:00
David Čermák 3692b15965 Merge branch 'feature/lwip_dns_debug_logs' into 'master'
lw-IP: Add DNS debug option.

Closes IDFGH-7076

See merge request espressif/esp-idf!17668
2022-04-06 21:59:09 +08:00
David Čermák 08dab0fafb Merge branch 'bugfix/eth_opencore' into 'master'
esp_eth: Fix open-cores explicit inclusion

See merge request espressif/esp-idf!17551
2022-03-23 22:37:17 +08:00
David Cermak c63c8d4df1 esp_eth: Fix open-cores explicit inclusion 2022-03-23 09:05:30 +01:00
David Čermák fc21b0a789 Merge branch 'bugfix/sntp_example_comment' into 'master'
examples/sntp: Document that SNTP-over-DHCP resets other NTP servers

Closes IDFGH-6835

See merge request espressif/esp-idf!17418
2022-03-23 00:15:58 +08:00
David Cermak 965b8f0e62 examples/sntp: Document that SNTP-over-DHCP resets other NTP servers
Closes https://github.com/espressif/esp-lwip/issues/42
2022-03-22 15:01:02 +00:00
David Čermák db8fb1f47b Merge branch 'bugfix/lwip_dhcps_cleanup' into 'master'
lw-IP: Support for multiple DHCP servers

Closes IDF-4599 and IDF-4458

See merge request espressif/esp-idf!16895
2022-03-14 19:30:31 +08:00
David Cermak 27375c7917 esp_netif: Cleanup dhcp-server allocations 2022-03-13 19:40:00 +01:00
David Cermak 1b49cf373f lwip/dhcps: Fix fuzzer compilation 2022-03-13 19:40:00 +01:00
David Cermak 3d1c05aefb lwip/dhcps: Add dhcps callback argument for associated netif 2022-03-13 19:40:00 +01:00
David Cermak 775c3a6253 lwip/dhcps: Add simple start/stop unit cases 2022-03-13 19:40:00 +01:00
David Cermak 5f135741a1 lwip/dhcpserver: Add return value to API that could fail 2022-03-13 19:40:00 +01:00
David Cermak 76e9d3cad0 lwip/dhcpserver: Add doxy documentation 2022-03-13 19:40:00 +01:00
David Cermak afe6bc0c88 lwip/dhcp_server: Fix mem-leaks caught by UT's 2022-03-13 19:40:00 +01:00
David Cermak adc00d1813 lwip: Fix fuzzer layers after dhcps update 2022-03-13 19:40:00 +01:00
David Cermak c005b04d1c lwip/dhcps: Support for dynamic dhcp server instances 2022-03-13 19:39:21 +01:00
David Cermak bab051f450 lwip/dhcps: Cleanup internal lwip and esp-netif dependency 2022-03-13 19:38:15 +01:00
David Čermák 99d125a06b Merge branch 'feature/esp_netif_manual_set_default' into 'master'
esp_netif: Support for manual set-default-netif

Closes IDFGH-6701

See merge request espressif/esp-idf!17228
2022-03-12 17:21:29 +08:00
David Cermak fabad2a13a esp_netif: Extend unit test to validate route_prio
Also updates the auto routing loop after a netif is destroyed
2022-03-11 14:02:17 +01:00
David Cermak f8907b7884 esp_netif: Support for manual set-default-netif
Closes https://github.com/espressif/esp-idf/issues/8330
2022-03-11 14:02:17 +01:00
David Čermák 4196c3f591 Merge branch 'update/discontinue_tcpip_adapter' into 'master'
esp_netif: Remove tcpip_adapter compatibility layer

Closes IDF-4457

See merge request espressif/esp-idf!17066
2022-03-11 03:48:28 +08:00
David Cermak c941e29cf6 examples: Fix implicit includes after legacy code removal 2022-03-10 10:36:38 +01:00
David Cermak 7db0f0feb1 esp_mesh: Document that hard-coded non-root nodes do not need TCP/IP 2022-03-10 08:19:44 +01:00
David Cermak 13ffddc0f3 phy: Use htobe32 instead of htonl to decouple from lwip 2022-03-10 08:19:43 +01:00
David Cermak 79d1865d62 examples: Fix IP mesh implicit includes 2022-03-10 08:19:43 +01:00
David Cermak 795b7ed993 esp_netif: Remove tcpip_adapter compatibility layer 2022-03-10 08:19:43 +01:00
David Čermák 0b58f987cd Merge branch 'feature/mdns_dynamic_interfaces' into 'master'
mdns: Add support for dynamic network interfaces

Closes IDF-939

See merge request espressif/esp-idf!14875
2022-03-10 15:11:35 +08:00
David Cermak 34ae82e7bd CI: Increase parallel count for eth-runners 2022-03-09 10:44:30 +01:00
David Cermak 42ba8a8338 mdns: Fix copyright messages, update API descrition
* Impove docs and comments on custom netifs
* Make predef interfaces const, minor docs fixes
2022-03-09 07:33:23 +01:00
David Cermak b02468dc98 mdns: Add API to control custom network interfaces 2022-03-09 07:33:23 +01:00
David Cermak dd3cd52fd6 CI/mdns: Reworked example test to be run repeatably 2022-03-09 07:33:16 +01:00
David Čermák 06df46e26a Merge branch 'bugfix/security_update_pppos_crash' into 'master'
lw-ip: Apply security fixes from upstream; Fix PPPoS and NAPT ip-forward

Closes IDFGH-6668 and IDFGH-6825

See merge request espressif/esp-idf!17227
2022-03-09 03:04:52 +08:00
David Cermak 98e9426b66 CI/mdns: Fix fuzzer build 2022-03-08 14:25:34 +01:00
David Cermak d1b809e6a1 CI/mdns: Extend example test for sockets, netifs 2022-03-08 13:46:57 +01:00
David Cermak bec42ff85d mdns: Add support for registering custom netif 2022-03-08 13:46:11 +01:00