Commit Graph

561 Commits

Author SHA1 Message Date
David Čermák
557b1e9fe0 Merge branch 'docs/lwip_fuzzer_tests_document' into 'master'
Docs: Added README.md for lwip fuzzer tests

Closes IDFCI-540

See merge request espressif/esp-idf!13186
2021-05-25 04:12:10 +00:00
Angus Gratton
e305f29382 asio coap: If LWIP IPV6 is disabled, automatically don't build asio & coap
- Removes need to manually exclude these components as shown at
  https://github.com/espressif/esp-idf/issues/3781#issuecomment-825742378

- Hide the config for these components if IPV6 is disabled

- The components are still included in the build, but with no source
  files
2021-05-20 19:53:00 +10:00
Suren Gabrielyan
53c18a85db Docs: Added README.md for lwip fuzzer tests
Closes IDFCI-540
2021-05-18 17:52:07 +04:00
Angus Gratton
0fc9253ed9 lwip: Update public port-layer headers with c++ guards, sdkconfig include
This doesn't fix any particular bug, just to meet best practices. Although
including some LWIP headers from C++ files may have caused linker issues.
2021-05-18 16:09:17 +10:00
David Cermak
49022e99f5 lwip: Add config for DHCP client id; Fix DNS server idx assert issue
This commit brings two esp-lwip fixes to IDF:

1) Add configuration to disable DHCP client identification
2195f7416f
This config could be used to disable option 61 in DHCP packets, so that
clients will be identified by their  chaddr only.
(This is the lwip upstream original behaviour)

2) Fix server_idx increasing to DNS_MAX_SERVERS and trigger the LWIP_ASSERT
5a567d52f7
When lwip doesn't have DNS server and resolve a domain address, the server_idx
will increase to DNS_MAX_SERVERS, which will trigger the LWIP_ASSERT and make device crash.

Closes https://github.com/espressif/esp-idf/issues/6878
2021-05-07 14:11:51 +02:00
Jiacheng Guo
fd3553b66d lwip: add config options for Thread IPv6 border routing 2021-04-22 06:13:47 +00:00
yuanjm
ef7583517d lwip: Fix LWIP_DEBUG define which is always defined 2021-04-12 14:41:46 +00:00
David Cermak
d6f66465ff lwip: Made LCP ECHO bool for better user experience 2021-04-09 06:53:30 +00:00
xueyunfei
181e87d700 bugfix for assert when tcp send data 2021-03-31 08:59:22 +00:00
David Čermák
3bc3407aeb Merge branch 'bugfix/lwip_ppp_echo_interval_config' into 'master'
lw-IP: added configuration values for echo interval

Closes IDFGH-3098

See merge request espressif/esp-idf!12487
2021-03-18 11:59:07 +00:00
Jiri Schiebel
ece7cb4545 lwip: added configuration values for echo interval 2021-03-17 17:54:30 +00:00
Jiri Schiebel
0c58d5fc6a lwip: added config option to enable LWIP_NETIF_API 2021-03-17 17:53:07 +00:00
Angus Gratton
fd164b82b6 Merge branch 'refactor/move_from_xtensa' into 'master'
Movements from xtensa

Closes IDF-2164

See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
Angus Gratton
39a2d531f0 Merge branch 'feature/ldgen_mapping_extensions' into 'master'
ldgen: mapping flags extensions

Closes IDFGH-2524

See merge request espressif/esp-idf!12035
2021-03-09 22:43:08 +00:00
Angus Gratton
9c6d4de1e6 lwip: Support silent assertion configuration
If silent assert configuration is enabled, LWIP asserts are now 'silent' also.

Also updates KConfig to note that LWIP asserts are also disabled when asserts
are disabled globally (this was already the behaviour, but the config item
suggested otherwise.)

Progress towards https://github.com/espressif/esp-idf/issues/5873
2021-03-03 10:26:57 +11:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Renz Bagaporo
03fe1d6af2 lwip: fix multiple section mapping 2021-03-01 14:19:34 +08:00
Renz Bagaporo
0f03f450ff esp_hw_support: create esp_cpu
Create a esp_cpu header that contains CPU-related functions and
utilities.
2021-02-26 13:34:29 +08:00
yuanjm
31a20088af lwip: Fix spelling issues in lwip_debug.c 2021-02-23 18:26:03 +08:00
yuanjm
d80db218da lwip: Add LWIP_IPV6 macro to strip IPv6 function in LWIP component 2021-02-23 18:26:03 +08:00
Angus Gratton
f7a8593a3b Merge branch 'style/python_isort_double_quote_fixer' into 'master'
style: format python files with isort and double-quote-string-fixer

See merge request espressif/esp-idf!12149
2021-01-27 12:25:39 +08:00
Chen Wu
8207f6ac32 lwip: Fixed ping assert reset when ping interval is 0 2021-01-26 10:48:56 +00:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
xueyunfei
617ea86672 Add dhcp option 61 2021-01-25 17:48:15 +08:00
xueyunfei
b50fca4aa0 optimization dhcp key state transition message 2021-01-25 03:54:20 +00:00
Angus Gratton
3532f52f60 Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
ldgen: check mappings

Closes IDF-1624

See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
Renz Bagaporo
d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
xueyunfei
9dcbec406a Add feature for dhcp MTU judgement 2021-01-18 14:30:06 +00:00
Angus Gratton
9769be3fde Merge branch 'bugfix/fix_sign_compare' into 'master'
global: fix sign-compare warnings for system level components

See merge request espressif/esp-idf!11252
2021-01-13 12:45:05 +08:00
Krzysztof Budzynski
e277d8ef23 Merge branch 'bugfix/esp_sntp_header' into 'master'
docs: Add esp_sntp to API reference as it's default idf header

Closes DOC-854

See merge request espressif/esp-idf!11796
2021-01-13 10:28:39 +08:00
David Čermák
76f6dd6214 lwip: Moved default SNTP API to esp_sntp.h
and make sntp.h in port folders of lwip component obsoleted
2021-01-13 10:28:34 +08:00
David Cermak
a807f8e263 lwip: Fixed minor debug print format issue
This caused some unsigned int prints out to be printed as singed integer which made the logs unreadable, for example sequence numbers in TCP packet headers
2021-01-12 11:57:49 +00:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
David Cermak
9ffa9cce73 lwip: Add warning to use ESP_IDF_LWIP_HOOK_FILENAME if LWIP_HOOK_FILENAME defined 2021-01-08 14:28:21 +00:00
David Cermak
5993a49352 lwip: Add IDF hook filename to customize lwip hooks
LWIP_HOOK_FILENAME is used in IDF to define standard and default hooks for IDF port in LWIP.
Added ESP_IDF_LWIP_HOOK_FILENAME to customize additional hooks in lwip

Closes https://github.com/espressif/esp-idf/issues/6261
2021-01-08 14:28:21 +00:00
Angus Gratton
db4fb49432 esp_common: Fix issue with SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY not visible on c3
Create a common symbol name to use from linker.lf fragments
2020-12-31 15:20:05 +11:00
ryan kurte
85083ddc3d lwip: Added debug config options for DHCP and TCP 2020-12-18 16:38:59 +00:00
ryan kurte
5d91a27a1e lwip: Added KConfig option to control checksum validation on IP/UDP/ICMP
This maintains the current default, but could be swapped if desired

Merges https://github.com/espressif/esp-idf/pull/6187
2020-12-18 16:38:59 +00:00
Jiang Jiang Jian
a16d1e8f1a Merge branch 'fixbug/baidu_tcp_recv_assert' into 'master'
lw-ip:fixbug/baidu tcp recv assert

Closes WIFI-2802

See merge request espressif/esp-idf!11287
2020-12-14 16:48:24 +08:00
Sachin Parekh
be5563207d esp32: Provision to redirect .bss to external ram through linker fragments
Include external ram section in the linker template to process it
through linker script generation mechanism. This enables redirection of .bss section to external memory using linker fragments

libnet80211, libpp, libbt, liblwip: Redirect .bss through fragments
2020-12-04 06:32:38 +00:00
Paweł pidpawel Kozubal
cf60ec0ffc lwip: Added support for configurable LwIP hooks
Added lwIP hooks which could be optionally overwritten in the
application code. These three options are provided in Kconfig:
* NONE: No hook support
* DEFAULT: Default implementation is provided. If IDF doesn't
have a specific hook implementation, an empty stub is provided, which
could be overwritten by strong implementation in application code.
* CUSTOM: Hooks are declared only to be implemented in application code.

Merges https://github.com/espressif/esp-idf/pull/6034
2020-11-26 12:02:00 +00:00
xueyunfei
3b6014f5a0 fix bug for tcp recv assert 2020-11-19 12:16:49 +08:00
Angus Gratton
87e13baaf1 freertos: Add RISC-V port
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
nx518
9207c6ca8e lwip: Added description to Kconfig option on IPv6 SLAAC
Closes https://github.com/espressif/esp-idf/issues/6076
Merges https://github.com/espressif/esp-idf/pull/6078
2020-11-09 22:10:32 +00:00
ronghulin
ffd23623b7 bugfix: fix TCP timer interval 2020-11-05 15:00:51 +00:00
Angus Gratton
98a0cc783f test_compile_fuzzers: Fix include paths for host build
Regression in 988be69466, need to add
esp_hw_support component include dir here.
2020-11-05 16:30:07 +11:00
Anton Maklakov
b5b2738644 Merge branch 'test/ci_fuzzer_precheck' into 'master'
CI: Add a test to pre-check fuzzer tests compilation before weekly run

See merge request espressif/esp-idf!10332
2020-11-04 12:22:53 +08:00
Renz Bagaporo
79887fdc6c soc: descriptive part occupy whole component 2020-10-28 07:21:29 +08:00
David Čermák
e1c3350cec Merge branch 'feature/lwip_tcp_isn_hook' into 'master'
lw-ip: enable TCP ISN hook

See merge request espressif/esp-idf!10854
2020-10-26 20:45:16 +08:00
Jiang Jiang Jian
090dbc5550 Merge branch 'feature/add_ipv6_ping' into 'master'
lw-ip:add feature for ipv6 ping

Closes WIFI-2535

See merge request espressif/esp-idf!9530
2020-10-26 15:16:23 +08:00
Jiang Jiang Jian
286ccb203e Merge branch 'bugfix/fix_TCP_retransmission_interval' into 'master'
fix TCP retransmission interval

Closes WIFI-2861

See merge request espressif/esp-idf!10867
2020-10-26 11:25:14 +08:00
Mahavir Jain
58c33f3bdf lwip: provide configuration option to enable TCP ISN hook 2020-10-23 05:11:33 +00:00
Mahavir Jain
8099dd089d tcp_isn: use ROM APIs for md5 calculations 2020-10-23 05:11:33 +00:00
Mahavir Jain
b8925ab48b lwip: add custom TCP ISN hook implementation
Source:
https://git.savannah.nongnu.org/cgit/lwip/lwip-contrib.git/
2020-10-23 05:11:33 +00:00
xueyunfei
79fc027830 lwip:add feature for ipv6 ping 2020-10-22 15:01:59 +08:00
xueyunfei
9ac6d4a1ce bugfix ipv6 ping error when src ip miss 2020-10-21 20:10:15 +08:00
suren.gabrielyan
637f5c0a68 CI: Add a test to pre-check fuzzer tests compilation before weekly run 2020-10-20 13:57:00 +00:00
ronghulin
d9f7df6f9b fix TCP retransmission interval 2020-10-16 11:48:43 +08:00
mathiasbredholt
8a102926f8 lwip: Changed to C linkage for fixing bug when using mixed C/C++ code
Merges https://github.com/espressif/esp-idf/pull/5900
2020-09-29 11:47:32 +02:00
xueyunfei
8feadde2fa ipv6 send multicast data fail when src address is null 2020-09-18 14:24:14 +08:00
suren.gabrielyan
a43c06a592 mdns, dns, dhcp, dhcps: update fuzzer test to work in CI
Closes: IDF-1861 and IDF-1990
2020-09-10 18:17:30 +00:00
Jiang Jiang Jian
9e45dca650 Merge branch 'bugfix/fix_ipv6_nd6_max_queue_num' into 'master'
lw-ip: fix max ipv6 pkt queue num too large cause no mem issue

Closes WIFI-2527 and WIFI-2350

See merge request espressif/esp-idf!9697
2020-08-19 16:07:14 +08:00
ChenJianxing
bf48acc284 lwip: fix IPv6 ND6 queue too much pkts cause no mem issue and add menuconfig item for this params. 2020-08-16 22:08:07 +08:00
liu zhifu
fa9a5c0be5 esp_wifi: optimize WiFi TX performance 2020-08-13 12:26:21 +08:00
xiehang
49cb6905d4 lwip: fix udp tx packet loss issue 2020-08-07 11:25:06 +08:00
David Cermak
1a41545c3e esp-netif: SLIP interface refactor to isolate interface from drivers 2020-07-15 15:46:46 +02:00
David Cermak
13de11fb32 lwip: Added debug config options to enable lwIP low level debugging 2020-07-15 15:46:46 +02:00
ryan
266be00254 esp-netif: Added esp_netif slip support, slip_modem component and example
Merges https://github.com/espressif/esp-idf/pull/4985
2020-07-15 15:46:46 +02:00
xueyunfei
2b298cb895 lwip:fix bug for select waiting assert
Closes https://github.com/espressif/esp-lwip/issues/13

Official patch:http://git.savannah.nongnu.org/cgit/lwip.git/commit/?id=8d7e436a9d24a2a1ee35aac72a7055e80330e994
2020-07-15 11:35:18 +08:00
xueyunfei
a202bfe78e fix bug for ipv6 fragment 2020-06-30 08:58:08 +00:00
ronghulin
9230e0d26d bugfix: fix ICMP specify length issue 2020-06-28 10:46:43 +08:00
yuanjm
533bb3c46d feat(lwip): make LWIP TCP rto time configurable 2020-06-16 13:16:17 +00:00
xueyunfei
df43a1affc add LINGER to menuconfig 2020-05-25 11:23:03 +08:00
David Cermak
fa57bdbdbe dhcpserver: make subnet mask configurable
Closes https://github.com/espressif/esp-idf/issues/4988
2020-04-30 14:04:22 +00:00
Angus Gratton
d041512022 Merge branch 'feature/mesh_ip_network_example' into 'master'
ESP-MESH: IP internal network example

See merge request espressif/esp-idf!7724
2020-04-30 14:33:16 +08:00
David Cermak
bcee69ae06 esp-netif: Enable easier configuration of custom DHCP server address 2020-04-24 07:32:58 +02:00
xueyunfei
4e2989e40c fixbug for tcp kill state assert 2020-04-23 15:38:49 +08:00
David Čermák
d043674b2b Merge branch 'feature/lwip_napt_forward' into 'master'
lw-IP: NAT support

Closes WIFI-931

See merge request espressif/esp-idf!7681
2020-04-16 03:03:00 +08:00
David Cermak
6aabfd50d5 pppos_client: support for PPPAUTHTYPE_NONE
Closes https://github.com/espressif/esp-idf/issues/4616
Closes WIFI-1652
2020-04-14 21:46:07 +02:00
David Cermak
94d320473c LwIP: NAPT functionality
Adds Kconfig option to enable experimental NAPT feature for IP packet
forwarding across interfaces.

Closes https://github.com/espressif/esp-idf/issues/1527
2020-04-14 16:04:37 +02:00
David Cermak
72d54b68a6 lwip: dhcp-server fix static analysis warnings
1) kill_oldest_dhcps_pool() is only called when list has at least two members (assured with kconfig value limit), added assertion to ensure this function is used only when prerequisities are met
2) use after free reported in two places, since the analyzer checks also the scenario when the linked list has loops, added ignore tags
2020-03-27 18:46:39 +01:00
Ivan Grokhotkov
55c3c2b73d Merge branch 'feature/vfs_optional' into 'master'
vfs: add option to disable VFS layer, saving some RAM and code size

See merge request espressif/esp-idf!7950
2020-03-24 21:11:28 +08:00
Jiang Jiang Jian
2c06733e10 Merge branch 'optimization/TCPv6_connect_for_master' into 'master'
lw-ip:optimization TCPv6 connect

Closes WIFI-1963

See merge request espressif/esp-idf!8018
2020-03-24 15:25:03 +08:00
Ivan Grokhotkov
b203ac7b02 lwip: handle CONFIG_VFS_SUPPORT_IO=n and CONFIG_VFS_SUPPORT_SELECT=n
* If CONFIG_VFS_SUPPORT_IO=y, keep everything as it is now
* If CONFIG_VFS_SUPPORT_IO=n, defined syscalls which LwIP can
  implement, such as read/write/close
* Make LWIP-only select implementation dependent on
  CONFIG_VFS_SUPPORT_SELECT, deprecate CONFIG_LWIP_USE_ONLY_LWIP_SELECT
2020-03-20 14:03:44 +01:00
xueyunfei
b539e54eed optimization TCPv6 connect 2020-03-20 07:19:23 +00:00
xiehang
a133dbd848 LWIP: Add lwip assert control 2020-03-19 19:00:19 +08:00
xueyunfei
e3ff1efe65 fix bug for after udp close select_waiting assert 2020-03-11 10:03:40 +00:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
xueyunfei
f7d2aa96bd fix bug for netconn marked close crash 2020-03-09 06:32:41 +00:00
Francesco Giancane
872272e23a lwip: make IPV6 link-local support over PPP configurable
Make the link local negotiation for IPV6 in PPP optional and
configurable.
This is because some modems do not support the IPV6 negotiation and
sending IPV6CP frames would in some cases break the network
configuration phase, resulting in a timeout during the Phase Network.

Please note that this does not disable the IPV6 support for the outgoing
communication (IPV6 is still enabled even if this option is not
selected) but just for the local link between lwIP and modem.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4782
Closes https://github.com/espressif/esp-idf/issues/1065
2020-03-05 18:46:48 +00:00
xueyunfei
1dfd4d7c42 add host name in discover packet 2020-03-02 08:18:28 +00:00
xueyunfei
74e690402c fix ipv6 bug when input the wrong broadcast 2020-02-28 12:00:45 +08:00
xiehang
a4b16213ad lw-ip: Add option to ipv6 stateless address configuration 2020-02-20 14:30:21 +08:00
Jiang Jiang Jian
4c48208e2c Merge branch 'bugfix/sock_lock_crash' into 'master'
lw-ip:fix bug for crash when socket lock not initialized

Closes WIFI-1713

See merge request espressif/esp-idf!7597
2020-02-15 13:41:49 +08:00
Konstantin Kondrashov
565eee12a0 lwip: Add to sys_arch_protect() a check that the mutex is created before use if not then creates it
Closes: https://github.com/espressif/esp-idf/issues/944
Closes: https://github.com/espressif/esp-idf/issues/3931
Closes: WIFI-1019
2020-02-15 13:14:08 +08:00
xueyunfei
5f904c5b4e fix bug for crash when socket lock not initialized 2020-02-13 18:00:46 +08:00
David Cermak
7c8cbe02e4 ESP-NETIF: fix get/set hostname API to reflect user settings
On startup of the common interface (ethernet, wifi), the lwip netif hostname was assigned to confg value .
Fixed to assign to esp-netif hostname if it exists

Closes https://github.com/espressif/esp-idf/issues/4737
2020-02-11 07:35:12 +01:00
Jiang Jiang Jian
95f9db79d2 Merge branch 'feature/lwip_netinet_tcp_pr4637' into 'master'
lw_ip: Add netinet compatibility headers (PR 4637)

Closes IDFGH-2551

See merge request espressif/esp-idf!7408
2020-01-21 15:00:03 +08:00
Francesco Giancane
e48fe540be include/sys/socket.h: ensure SOMAXCONN symbol is defined
SOMAXCONN is expected to be defined in this header, but for the esp32
port is found in net/if.h from newlib.

Avoid the issue by including the net/if.h header in sys/socket.h so that
compatibility is preserved.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4637
2020-01-21 10:11:33 +11:00