David Cermak
c7d1bcaf79
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:35:57 +02:00
David Cermak
09a8f171f2
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 15:07:54 +02: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
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
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 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
Fu Hanxi
c0568611dd
docs: changes docs supported targets tables
2022-07-14 08:26:32 +08:00
xueyunfei
45ad770c37
Icmp: get tos parameter in icmp reply
2022-07-05 11:37:41 +08:00
xueyunfei
b569f4069a
bugfix for add ttl for ping socket
2022-07-05 11:37:41 +08:00
Anton Maklakov
d2ce9abb2a
lwip: suppress some GCC 11 warnings
...
Closes https://github.com/espressif/esp-idf/issues/9142
2022-06-29 11:42:09 +00:00
Ondrej Kosta
53082a22f7
esp_netif: added support for LwIP bridge
...
examples: created bridge example
2022-06-14 15:29:44 +02:00
David Cermak
343cf2696e
esp_eth: Reduce internal deps onto netif-glue
2022-06-09 07:55:40 +00:00
morris
aa3ddbc3c6
Merge branch 'test/enable_c2_target_tests' into 'master'
...
ci: enable target tests for ESP32-C2
Closes IDF-4989
See merge request espressif/esp-idf!18182
2022-06-03 16:41:24 +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
Michael (XIAO Xufeng)
6a8aed12ee
ci: partially enable ut tests for esp32c2
...
Disabled test cases are tracked in:
IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131
- test_fatfs: IDF-5136
- test_pm: IDF-5053
- test_cache_mmu: IDF-5138
- test_partitions: IDF-5137
- test_vfs: IDF-5139
- test_freertos: IDF-5140
- test_wpa_supplicant: IDF-5046
- test_mbedtls: IDF-5141
- test_pthread: IDF-5142
- test_protocomm: IDF-5143
- test_lightsleep: IDF-5053
- test_taskwdt: IDF-5055
- test_tcp_transport: IDF-5144
- test_app_update: IDF-5145
- test_timer: IDF-5052
- test_spi: IDF-5146
- test_rtc_clk: IDF-5060
- test_heap: IDF-5167
ci: fixed issues for tests of libgcc, ets_timer, newlib
test_pm: support on C2
2022-06-02 14:23:35 +08: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
Djordje Nedic
facab8c5a7
tools: Increase the minimal supported CMake version to 3.16
...
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00: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
yuanjm
0ae030d0ca
fix(Kconfig): Fix lw-ip Kconfig display garbled characters
2022-05-27 02:48:45 +00:00
yuanjm
667a7c6cd0
feat(netif): Add NETIF_FLAG_MLD6 flag for eth netif
...
Closes https://github.com/espressif/esp-idf/issues/8602
2022-05-20 11:26:27 +00: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
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
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
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
Darian Leung
e08d574a5d
lwip: Update AFL host test mock
...
This commit updates and refactors the AFL host test mock as follows:
- Isolates the mock so that it only relies on lwip component and linux stdlib headers
- Grouped all mock functions in 'esp32_mock.h/c'
- Updates the lwip esp32 port files to include 'esp32_mock.h' when building for linux
- Use host stdlib headers instead of xtensa stdlib headers
2022-04-29 15:11:44 +08:00
Darian Leung
4e4f20d82a
lwip: Fix extra or missing includes
2022-04-29 15:11:44 +08:00
Jeff H
5ebd86ab6a
add option to route LWIP logs through ESP_LOG interface
...
Signed-off-by: xueyunfei <xueyunfei@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/8785
Closes https://github.com/espressif/esp-idf/issues/8361
2022-04-25 16:35:04 +08:00
Armando
c4bcf1117c
esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support
2022-04-08 11:46:10 +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