Commit Graph

674 Commits

Author SHA1 Message Date
xueyunfei
871bbdcec3 netdb:fixed bug for getaddrinfo returns null when IPV4 mapped address
Closes https://github.com/espressif/esp-idf/issues/9693
2023-05-19 12:26:07 +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 Č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
Jiang Jiang Jian
f3a32bc687 Merge branch 'fixbug/baidu_tcp_ooseq_assert' into 'master'
lw-ip:fixbug for  tcp ooseq assert

Closes AUD-4354

See merge request espressif/esp-idf!22376
2023-03-14 14:45:06 +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
xueyunfei
336fc879b3 1 dhcp: Fix dhcp_fine_tmr() not to use netif after free
2 tcp_in/ooseq: Fix incorrect segment trim when FIN moved

* Update submodule: git log --oneline 10197b212a95c49c733fb18ffed56cafb0d196d4..d5e56d06658ae11292be1baea56204f7120b6fa7

Detailed description of the changes:
  - dhcp: Fix dhcp_fine_tmr() not to use netif after free (esp-lwip@d5e56d06)
  - tcp_in/ooseq: Fix incorrect segment trim when FIN moved (esp-lwip@9e62afff)
  - netdb:fixed addrtype and length in gethostbyname (esp-lwip@aee6b3ed)
  - lwip/napt: Added api to enable/disable napt based on lwip netif (esp-lwip@280c3d61)
  - lwip/dhcp: Fixed ondemand fine timers bug, that allowed only one dhcp (esp-lwip@86df9f44)
2023-03-13 15:21:26 +08:00
xueyunfei
ad0b32c662 lwip: solve some routers do not forward multicast packet issue 2023-03-08 16:58:29 +08:00
Jiang Jiang Jian
df6b33712f Merge branch 'Bugfix/softap_support_CIDR' into 'master'
Bugfix for softap support CIDR

Closes IDFGH-8574

See merge request espressif/esp-idf!22471
2023-03-02 14:03:00 +08: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 Cermak
5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
xueyunfei
4f0732cf05 Fixed bug for dhcp server support CIDR
Closes https://github.com/espressif/esp-idf/issues/10024

Closes https://github.com/espressif/esp-idf/issues/10559
2023-02-24 14:24:49 +08:00
David Cermak
708641204e lwip: Add missing esp_sntp_enabled() 2023-02-24 07:23:55 +01:00
xueyunfei
2f6b681b1a lwip:optimization dhcp coarse timer 2023-02-08 16:29:28 +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
Jiang Jiang Jian
f4c14a6bf4 Merge branch 'bugfix/lwip_sntp_cpp_fix' into 'master'
esp_sntp: Fix c++ compile issue in esp_sntp.h (GitHub PR)

Closes IDFGH-9212 and IDFGH-9239

See merge request espressif/esp-idf!22159
2023-02-07 14:36:39 +08:00
Sean Cross
79d37515df lwip: fix dhcp_server path
The path for dhcp_server.c has changed from esp32/ to esp32xx/

This fixes the build when CONFIG_LWIP_DHCP_RESTORE_LAST_IP is enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2023-02-03 22:55:09 +08:00
David Cermak
e8ee09d817 lwip/sntp: Fix esp_sntp_ API races
Some of the esp_sntp_...() APIs that wrap lwip's SNTP
module use tcpip_callback() to execute the lwip functionality
in the correct state (either with locked TCP/IP core,
or within the TCP/IP thread).
tcpip_callback() however doesn't wait for completion of the callback,
which doesn't prevent from using the stack variables after destroy
if used as a parameter.
Introduced in a71fa82.
Fixed by using of tcpip_api_call() instead of the tcpip_callback().

Closes https://github.com/espressif/esp-idf/issues/10611
2023-01-31 18:25:35 +01:00
George Joseph
c8f0ec7fa4 esp_sntp: Fix c++ compile issue in esp_sntp.h
Added a cast to esp_sntp_operatingmode_t in sntp_setoperatingmode()'s
call to esp_sntp_setoperatingmode(operating_mode).  Althouogh C
doesn't require the cast, C++ does.  Otherwise you get...

error: invalid conversion from 'u8_t' {aka 'unsigned char'}
    to 'esp_sntp_operatingmode_t'
2023-01-31 07:54:30 +00:00
David Cermak
332e4902b4 lwip: Rename esp32 port layer to esp32xx
As it reflects all chips from esp32-xx family, not only esp32
2023-01-31 08:43:50 +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
David Čermák
2f1d30d155 Merge branch 'bugfix/lwip_core_locking' into 'master'
esp_netif/lwip: Fix core-locking config

Closes IDFGH-8445, IDFGH-9098, and IDFGH-9063

See merge request espressif/esp-idf!20840
2023-01-18 20:31:25 +08:00
David Cermak
a71fa82177 esp_netif/lwip: Fix core-locking config
* Fix thread safety issues in non-core locking
* Add option to verify thread safety issues in lwip (core-lock assertion)
* Make esp_sntp.h thread safe API
* Fix sntp examples
* Fix openthread libs

Closes https://github.com/espressif/esp-idf/issues/9908
Closes https://github.com/espressif/esp-idf/issues/10502
Closes https://github.com/espressif/esp-idf/issues/10466
2023-01-17 16:15:58 +01:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
David Cermak
d964aaceac lwip: Mark PPP officially supported
Closes https://github.com/espressif/esp-idf/issues/10249
2023-01-04 14:20:20 +01:00
yuexia
032ebd76cb esp32c6: support wifi 6 2022-12-29 11:48:36 +08:00
Jiang Jiang Jian
be94097eab Merge branch 'Bugfix/softap_excedes_the_range_of_subnet' into 'master'
dhcp:bugfix softap excedes the range of subnet

Closes IDF-6138

See merge request espressif/esp-idf!20831
2022-12-19 13:41:35 +08:00
xueyunfei
1ae1723d23 dhcp server:bugfix softap excedes the range of subnet 2022-12-16 14:25:04 +08:00
zhangwenxu
fd49a818f8 lwip: add menuconfig option to enable UDP debugging log 2022-12-16 06:12:50 +00:00
Abhik Roy
627d03182a Merge branch 'components/lwip/napt_debug_enable' into 'master'
components/lwip: Add menuconfig option to enable NAPT debugging.

See merge request espressif/esp-idf!21260
2022-12-14 15:27:48 +08:00
Abhik Roy
c92f5faa70 components/lwip: Add menuconfig option to enable NAPT debugging,
removed L2_TO_L3_COPY in LWIP Kconfig,
Also added DHCP server start log.
2022-12-02 21:57:53 +05:30
xueyunfei
7490a1553d lwip:optimization dns ipv4 ipv6 timeir
* Update submodule: git log --oneline 33912690ea005e8ff05b2c579ebbf0a4189c3b00..705dd71d46779bf29653f1f1d7b1af5a09fb2aa7

Detailed description of the changes:
  - dhcp: init fine timer when dhcp start(esp-lwip@705dd71d)
  - ip6 timer: optimization lwip ip6 reassembly timer (esp-lwip@9813ea9a)
  - ip4 timer: optimization lwip ip4 reassembly timer (esp-lwip@ce1a7099)
  - dns timer: optimization lwip dns timer (esp-lwip@6b0bfc2e)
2022-11-23 11:57:47 +00:00
zhangyanjiao
ff54ae22f7 lwip: fix the bug that long time to get IP
Closes WIFI-4932
2022-11-03 12:01:13 +08:00
xueyunfei
d1abdf47c4 lwip timer:optimization dhcp fine timer 2022-11-01 20:49:23 +08:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
Xue Yun Fei
c941691711 Merge branch 'Bugfix/increase_ping_task_stack_size' into 'master'
lwip:bugfix for increase ping task stack size

Closes WIFI-4903

See merge request espressif/esp-idf!20664
2022-10-19 19:19:25 +08:00
xueyunfei
8c17b04cef lwip:bugfix for increase ping task stack size 2022-10-19 10:49:13 +08:00
xueyunfei
bfaaa86775 Lwip:add TCP Fin2 timeout configuration 2022-10-18 15:40:43 +08:00
David Cermak
1f2c16af97 lwip/test: Add SNTP cases to check NTP timestamp overflow 2022-10-03 17:34:42 +02:00
David Cermak
ad0da9cd2b lwip: Migrate unit tests to test_apps 2022-09-29 10:40:28 +02:00
David Cermak
9e31c5077d lwip: Document 32 bit NTP timestamp converstion to 64b time_t 2022-09-21 17:38:37 +02:00
David Cermak
4959b0a213 lwip: Fix close() might block forever if SO_LINGER=y
* Update submodule: git log --oneline ec115c720b8909364ec5898dc5cc430cc898192d..316cfc17ce24f2d5d65c9f28251ec43a59a74cb1

Detailed description of the changes:
  - tcp/close: Fix clean socket closure when lignering (espressif/esp-lwip@316cfc17)
  - tcp_in: Fix incomplete closure if linger active (espressif/esp-lwip@8b599aa1)
  - ci: Introduce lwip test apps (espressif/esp-lwip@0866f578)
2022-09-19 07:21:21 +02:00
David Cermak
14c6d3a889 lwip: Reference official 2.1.3-esp branch
Actual changes against 2.1.3-esp-dev:
* Fix IPv6 zoning violations
* Melted on-demand timer's commits into one
2022-08-16 13:03:53 +00:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Shu Chen
e380704731 Merge branch 'feature/otbr-nat64' into 'master'
openthread: add NAT64 and DNS64 support

See merge request espressif/esp-idf!18708
2022-08-03 12:01:23 +08:00
Jiacheng Guo
905856a054 openthread: add NAT64 and DNS64 support
* Add required configs and headers for NAT64 and DNS64
* Add hook for DNS name resolution
* Add NAT64 and DNS64 example commands
2022-08-01 15:31:49 +08:00
David Čermák
8d62485a12 Merge branch 'feat/lwip_dhcps_append_opts' into 'master'
lw-ip/dhcpserver: Support for adding extra opts

Closes IDFGH-973

See merge request espressif/esp-idf!19115
2022-07-29 14:02:20 +08:00
David Cermak
64f4f0ac1e esp_netif/lwip: Use netif-client-data to store esp_netif ptr
lwip/netif struct has two places to store user's data
* netif->state (1 void*) but that might be occupied in special cases
* netif->client_dtat (n void*s) but that must be enabled in opts.h
This commit stores esp_netif_t* primarily in state, but if any special
netif is enabled in menuconfig (bridgeif, pppos), it uses netif->client_data.
This commit also fixes incorrect esp_netif that is attached to
IP_EVENT_GOT_IP6 event posted by pppos interfaces in:
c585618b97/components/esp_netif/lwip/esp_netif_lwip_ppp.c (L114)

Closes https://github.com/espressif/esp-idf/issues/9345
2022-07-27 11:55:18 +00:00
David Cermak
b5d13b9837 lwip/dhcpserver: Support for adding extra opts
This enables users appending an extra, user defined options in dhcp
server messages. Example of adding captive_portal option (160) to dhcp
offer message is provided:
* Add idf-lwip hook file (project makefile):
  idf_component_get_property(lwip lwip COMPONENT_LIB)
  target_compile_options(${lwip} PRIVATE "-I${PROJECT_DIR}/main")
  target_compile_definitions(${lwip} PRIVATE "-DESP_IDF_LWIP_HOOK_FILENAME=\"add_captive_portal.h\"")
* Implement appending (add_captive_portal.h):
  #pragma once
  #define LWIP_HOOK_DHCPS_POST_APPEND_OPTS(netif, dhcp, state, pp_opts) \
  if ((state)==DHCPOFFER) { *(pp_opts) = append_captive_portal_uri(*(pp_opts)); }
  static inline uint8_t *append_captive_portal_uri(uint8_t *optptr)
  {
    const static uint8_t DHCP_OPTION_CAPTIVE_PORTAL=160;
    const static char CAPTIVE_PORTAL_URI[]="my_uri";
    int size = sizeof(CAPTIVE_PORTAL_URI) - 1;
    *optptr++ = DHCP_OPTION_CAPTIVE_PORTAL;
    *optptr++ = size;
    for(int i = 0; i < size; ++i) {
        *optptr++ = CAPTIVE_PORTAL_URI[i];
    }
    return optptr;
  }

Merges https://github.com/espressif/esp-idf/pull/3308
2022-07-26 07:09:22 +00:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00