Xia Xiaotian
c03f84cecf
add hostname option in dhcp discover
...
Hostname option has been removed from dhcp discover since IDFv3.2.
But it remains in dhcp request due to which ESP32 can not get IPv4 address
from some APs. Re-add hostname option to dhcp discover to solve this issue.
2018-12-13 07:05:46 +00:00
Jiang Jiang Jian
bbdcff1f45
Merge branch 'bugfix/tw27096_fix_lwip_mbox_free_crash' into 'master'
...
fix the crash bug caused by sys_mbox_free
See merge request idf/esp-idf!3654
2018-11-15 10:31:35 +08:00
morris
5fccb73f86
ethernetif: fix potential memory leak
...
1. If L2_TO_L3_RX_BUF_MODE is not selected, we must assign l2_owner explictly before we call pbuf_free.
2. free intr resource in esp_eth_deinit
Closes https://github.com/espressif/esp-idf/issues/2670
2018-11-13 10:11:48 +08:00
Liu Zhi Fu
4fe3673f35
lwip: fix crash caused by sys_mbox_free
...
Fix lwip crashed bug caused by sys_mbox_free()
2018-11-11 12:15:51 +08:00
Peter Meerwald-Stadler
6a197d305f
Fix some typos related to ethernet documentation and Kconfig. Closes https://github.com/espressif/esp-idf/pull/2642
2018-10-28 21:12:09 +01:00
Jiang Jiang Jian
129d32772e
Merge branch 'feature/add_ping_packet_len_and_QoS' into 'master'
...
ping: add length and QoS
See merge request idf/esp-idf!3379
2018-10-19 15:29:58 +08:00
zhangyanjiao
32f3972284
add ping length and QoS
2018-10-17 09:39:27 +00:00
zhangyanjiao
e3322bde6f
fix the compile bug for autoip
2018-10-17 09:32:08 +00:00
David Cermak
67153be14f
lwip: updated fuzzer tests to be compatible with new lwip module
2018-10-11 08:05:14 +02:00
Jiang Jiang Jian
83d4081fba
Merge branch 'bugfix/fix_close_socket_crash_bug' into 'master'
...
lwip: fix the crash when close socket
See merge request idf/esp-idf!3384
2018-10-08 21:23:57 +08:00
zhangyanjiao
54b431f2a8
lwip: fix the crash when close socket
2018-09-27 17:35:40 +08:00
Ivan Grokhotkov
6baf743212
Merge branch 'bugfix/lwip_compat_headers' into 'master'
...
lwip: add compatibility headers for sntp.h and esp_ping.h
See merge request idf/esp-idf!3231
2018-09-27 11:21:37 +08:00
Jiang Jiang Jian
da3c6220a5
Merge branch 'bugfix/IPv6_TCP_connection_fail' into 'master'
...
lwip: fix the bug that IPv6 TCP connection fail
See merge request idf/esp-idf!3331
2018-09-23 08:39:34 +08:00
Roland Dobai
bf443a763f
tools: Support overwrite of includes for gen_esp_err_to_name.py
...
gen_esp_err_to_name.py includes files like
components/lwip/include/apps/esp_ping.h as "apps/esp_ping.h" because all
subdirectories of "include" are used. If "components/lwip/include/apps"
is in the path of the compiler instead of "components/lwip/include" then
include "apps/esp_ping.h" will fail. This fix allows to process lines
like:
'// gen_esp_err_to_name.py: some text "esp_ping.h" some text'
in header files for overwriting the include.
2018-09-21 14:09:37 +08:00
Ivan Grokhotkov
f8750eb58d
lwip: add compatibility headers for sntp.h and esp_ping.h
...
Before LwIP was moved into a submodule, sntp and esp_ping were
available as the following includes:
#include "apps/sntp/sntp.h"
#include "esp_ping.h"
This commit makes header files available at the old location, and adds
a deprecation warning for sntp.h.
Closes https://github.com/espressif/esp-idf/issues/2392
2018-09-21 14:09:37 +08:00
Ivan Grokhotkov
2e6e87816c
Merge branch 'feature/crosstool_backport' into 'master'
...
Backport of work of gcc8 toolchain to v3
See merge request idf/esp-idf!3154
2018-09-21 14:07:41 +08:00
zhangyanjiao
e7d6c861b5
lwip: fix the bug that IPv6 TCP connection fail
...
The lwip code didn't create an new mld group when netif is up,
this will lead to the server can't find the matching netif when
receiving NS(neighbor solicitation) packet
2018-09-21 10:17:20 +08:00
Anton Maklakov
d4cbfd34cc
cmake: silence some warnings in coap, bt, expat, libsodium, lwip and examples/bluetooth
2018-09-20 18:53:15 +08:00
Anton Maklakov
3471d369f9
lwip: silence uninitialized and fallthrough warnings
2018-09-20 18:53:15 +08:00
Anton Maklakov
9a55557ad8
build system: Add a compatible old GCC flag
2018-09-20 18:53:14 +08:00
Jiang Jiang Jian
d68df94d2b
Merge branch 'bugfix/fix_the_bug_create_socket_fail' into 'master'
...
LWIP: fix the bug that failed to create socket
See merge request idf/esp-idf!3300
2018-09-20 18:43:58 +08:00
morris
20b7f0ec87
ethernet: fix infinite loop when init phy or reset mac
...
1. fix infinite loop problem when init phy device
2. fix infinite loop problem when reset mac
3. fix little bugs in ethernetif_init
4. fix incompatible return value between lwip and esp-idf
Closes https://github.com/espressif/esp-idf/issues/2331
Closes https://github.com/espressif/esp-idf/issues/2141
2018-09-20 10:09:38 +08:00
zhangyanjiao
f2d3efd875
lwip: fix the bug that failed to create socket
...
Closes: https://github.com/espressif/esp-idf/issues/2403
https://github.com/espressif/esp-idf/issues/2414
2018-09-19 09:44:28 +00:00
Ivan Grokhotkov
5d1ccb9501
lwip: allow setting LwIP tasks affinity via sdkconfig
...
In some cases applications need to ensure that WiFi/BT related tasks
run on CPU1. This option can be used to set task affinity in such case.
https://github.com/espressif/esp-idf/issues/2233#issuecomment-409220381
2018-09-17 18:17:52 +08:00
Ivan Grokhotkov
eea49d250a
Merge branch 'feature/dhcp_skip_discovery' into 'master'
...
DHCP restore last ip and skip discovery
See merge request idf/esp-idf!3132
2018-09-17 12:27:56 +08:00
MartinValik
2e79baa1db
lwip: DHCP restore last IP
...
Closes https://github.com/espressif/esp-idf/issues/799
2018-09-17 11:11:25 +08:00
morris
3063a62e3e
ethernet: fix some bugs in ethernet driver
...
1. create a new pbuf to squash linked pbuf
2. optimize emac driver by adding ESP_IRAM_ATTR
3. remove duplicated function declare in esp_eth.h
4. remove duplicated code in emac_setup_tx_desc
5. disable Promiscuous mode
2018-09-17 10:12:46 +08:00
Jiang Jiang Jian
518942ec61
Merge branch 'bugfix/tw24694_dns_request_no_reply' into 'master'
...
lwip: add code for sending gratuitous ARP periodically
See merge request idf/esp-idf!3241
2018-09-16 15:18:32 +08:00
Angus Gratton
61835faed1
Merge branch 'bugfix/tcpip_stack_size_default' into 'master'
...
Default stack size for TCPIP task increased to avoid stack overflow.
See merge request idf/esp-idf!3258
2018-09-14 12:23:35 +08:00
Dmitry
2ff3f8b0c8
Stack size for TCPIP task increased from 2048 to 3072.
2018-09-13 12:38:56 +03:00
Renz Christian Bagaporo
944014f9f2
cmake: fix source list issues
2018-09-13 08:56:59 +08:00
zhangyanjiao
237cc88b9f
lwip: add code for sending gratuitous ARP periodically
2018-09-11 14:36:42 +08:00
Renz Christian Bagaporo
d9939cedd9
cmake: make main a component again
2018-09-11 09:44:12 +08:00
Angus Gratton
deb46b415f
lwip: Re-add CONFIG_PPP_SUPPORT check, remove redundant CFLAGS
2018-09-06 20:23:20 +08:00
Angus Gratton
cff2ef695a
Merge branch 'master' into feature/cmake
2018-09-06 20:23:04 +08:00
Zhang Yan Jiao
3578fe39e0
Feature/sync lwip as submodule
2018-09-06 19:43:08 +08:00
Angus Gratton
a9c4ed7139
Merge branch 'master' into feature/cmake
2018-08-30 18:51:01 +08:00
Angus Gratton
414b84c041
Merge branch 'feature/ci_fuzzer_tests_lwip' into 'master'
...
ci jobs running fuzz tests on dns, dhcp, dhcps + removed unnecessary references (libexpat)
See merge request idf/esp-idf!2866
2018-08-27 16:25:21 +08:00
David Cermak
882ca87442
lwip: removed ASSERT in dhcp as the error might occur in runtime if packet is altered
2018-08-22 12:13:34 +02:00
David Cermak
ebebda9604
lwip: supported ci jobs running fuzz tests on dns, dhcp, dhcps
2018-08-22 12:13:20 +02:00
Angus Gratton
ff2404a272
Merge branch 'master' into feature/cmake
2018-08-16 17:14:17 +10:00
David Cermak
1ef13c524c
asio: initial idf port of asio library without ssl
2018-07-30 06:28:43 +00:00
David Cermak
eee34ddd91
lwip fix for udp receivefrom
2018-07-30 06:28:43 +00:00
zhangyanjiao
d90f8c06c2
changes for timers
2018-07-17 16:46:53 +08:00
Jiang Jiang Jian
70f3933db1
Merge branch 'bugfix/tw23835_add_source_ip_route_for_unicast' into 'master'
...
lwip: add source ip based route for unicast packet
See merge request idf/esp-idf!2757
2018-07-16 17:01:16 +08:00
Jiang Jiang Jian
a22d6607f8
Merge branch 'bugfix/autoip_compilation' into 'master'
...
LWIP AutoIP Compilation Fixed by defining IP_IS_V4_VAL()
See merge request idf/esp-idf!2758
2018-07-15 15:19:11 +08:00
Piyush Shah
fd8a7666c8
LWIP AutoIP Compilation Fixed by defining IP_IS_V4_VAL()
2018-07-13 15:04:39 +05:30
Liu Zhi Fu
2e1427a239
lwip: add source ip based route for unicast packet
...
Add source IP based route for unicast packets forwarding.
2018-07-13 12:35:17 +08:00
Angus Gratton
a67d5d89e0
Replace all DOS line endings with Unix
...
Command run was:
git ls-tree -r HEAD --name-only | xargs dos2unix
2018-07-12 19:10:37 +08:00
Jiang Jiang Jian
9d830a6f7c
Merge branch 'bugfix/tw23667_tcp_pcb_purge_assert' into 'master'
...
lwip: fix the assertion in tcp_pcb_purge()
See merge request idf/esp-idf!2657
2018-07-10 10:16:47 +08:00
Jiang Jiang Jian
6bf435217e
Merge branch 'bugfix/disable_lwip_trust_ip_by_default' into 'master'
...
lwip: disable ETHARP_TRUST_IP_MAC by default
See merge request idf/esp-idf!2652
2018-07-09 10:03:30 +08:00
Liu Zhi Fu
49c236d613
lwip: fix the assertion in tcp_pcb_purge()
...
Fix the assertion in tcp_pcb_purge().
2018-07-05 14:29:03 +08:00
Liu Zhi Fu
c84a2b9027
lwip: disable ETHARP_TRUST_IP_MAC by default
...
Disable ETHARP_TRUST_IP_MAC by default because:
1. The LAN peer may not be trustful
2. The LAN peer may has problem to update its ARP entry
2018-07-02 13:38:29 +08:00
Angus Gratton
df816f4940
lwip: Fix leak when accept() fails due to max socket limit
...
As reported https://esp32.com/viewtopic.php?f=14&t=6171
event_callback() in sockets.c calls conn->socket-- to register
activity on a netconn which may not have any socket yet,
so any socket value < 0 indicates "no controlling socket"
for the netconn.
2018-06-21 15:22:48 +10:00
zhangyanjiao
b5f4bf922f
fix the bug that TCP connections don't abort when IP changed
2018-06-14 16:56:39 +08:00
zhangyanjiao
1bab62a6d6
modify dhcp offer MTU to 1500
2018-06-07 10:03:26 +08:00
Liu Zhi Fu
6cc95809fb
lwip: fix tcp_pcb_purge assert
...
Remove the assert in tcp_pcb_purge()
2018-06-06 10:25:01 +08:00
Angus Gratton
6b9784cc45
Merge branch 'master' into feature/cmake_update
2018-05-31 14:46:23 +10:00
Ivan Grokhotkov
ddff375bab
Merge branch 'feature/ci_fail_on_executable_files' into 'master'
...
CI: check source files for executable flag
See merge request idf/esp-idf!2463
2018-05-30 11:41:06 +08:00
Ivan Grokhotkov
4ea2cab208
Merge branch 'cermak_dhcpserver_fuzzer_test' into 'master'
...
LWIP_Fuzzer: Added AFL tests for lwip dhcpserver, client and dns
See merge request idf/esp-idf!2399
2018-05-29 22:28:43 +08:00
Ivan Grokhotkov
cb649e452f
remove executable permission from source files
2018-05-29 20:07:45 +08:00
Nicola Lunghi
2f433e4342
netif require vfs
2018-05-29 16:34:45 +10:00
Roland Dobai
e86738205d
Fix redefinition of select() on platforms where ESP_PLATFORM is discarded
...
Ref: https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Roland Dobai
004bf84d8c
VFS: Optionally disable the VFS implementation of select()
...
This allows to temporarily resolve issues like
https://github.com/espressif/esp-idf/issues/1987
while bugs are fixed in the VFS implementation of select().
2018-05-23 10:14:16 +02:00
zhangyanjiao
3f031cdd9d
add event SYSTEM_EVENT_AP_STAIPASSIGNED
2018-05-19 13:14:12 +08:00
David Cermak
bb25d0a348
DnsFuzzer: Added fuzzer test for exercising lwip/dns receiving DNS responses
2018-05-18 15:54:08 +02:00
Roland Dobai
18e83bcd53
Allow VFS file descriptors in select()
2018-05-18 08:06:33 +02:00
David Cermak
5ecf717e40
DhcpFuzzer: dhcp client addded
2018-05-16 14:52:42 +02:00
David Cermak
3a6d256d3e
DhcpFuzzer: Added AFL test for dhcpserver with sample packets
2018-05-14 15:03:37 +02:00
Jiang Jiang Jian
41228c83c7
Merge branch 'bugfix/dhcp_server_max_limit' into 'master'
...
dhcp/dhcpserver Fix max station limit check in dhcp server
See merge request idf/esp-idf!2298
2018-05-11 15:50:38 +08:00
Roland Dobai
5129bca67c
VFS: Use smaller numbers as file descriptors
2018-05-07 09:01:56 +02:00
Angus Gratton
381be65472
cmake: Build all examples in CI
...
Includes some fixes for compile errors/warnings in examples.
2018-04-30 10:18:33 +10:00
Angus Gratton
1cb5712463
cmake: Add component dependency support
...
Components should set the COMPONENT_REQUIRES & COMPONENT_PRIVATE_REQUIRES variables to define their
requirements.
2018-04-30 09:59:20 +10:00
Angus Gratton
88df8fd293
cmake: Use cmake_lint project, tidy up all CMake source files
2018-04-30 09:59:20 +10:00
Angus Gratton
9f8cdd3572
cmake: Add "Preview release" getting start guide & build system documentation
2018-04-30 09:59:20 +10:00
Angus Gratton
c671a0c3eb
build system: Initial cmake support, work in progress
2018-04-30 09:59:20 +10:00
Sagar Bijwe
21584827b3
dhcp/dhcpserver Fix max station limit check in dhcp server
...
Currently when MAX_STATION limit in DHCP config is set to N, dhcp server
issues only N-1 IP addresses. This is problematic from customer
perspective if both SoftAP MAX_STATION and DHCP MAX_STATION limit is set
to same value. With this change DHCP server can issue N addresses that
is inline with the set limit.
Closes TW<20556>
2018-04-24 17:36:55 +05:30
Ivan Grokhotkov
6185e722c3
Revert "Merge branch 'feature/vfs_select' into 'master'"
...
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Roland Dobai
6852d653bd
Allow VFS file descriptors in select()
2018-04-17 11:25:30 +02:00
Xia Xiaotian
e727582180
Fix two WiFi and LWIP typos
...
1. close github issue: https://github.com/espressif/esp-idf/issues/1792
2. close github issue: https://github.com/espressif/esp-idf/issues/1781
2018-04-05 11:46:42 +08:00
Roland Dobai
7c4b3d50f8
Make error codes globally unique
2018-03-27 08:12:54 +02:00
Jiang Jiang Jian
1d49c0953e
Merge branch 'bugfix/close_socket_when_tcp_connecting' into 'master'
...
Close socket request will abort tcp write/connect
See merge request idf/esp-idf!1687
2018-03-08 20:34:40 +08:00
Angus Gratton
aedb807a02
Merge branch 'bugfix/esp_ping_ms_pr1638' into 'master'
...
esp_ping - Document that timeout units are in milliseconds
See merge request idf/esp-idf!1968
2018-02-26 08:00:44 +08:00
Piyush Shah
6dbb040890
FD_ZERO: Fix a compilation warning
...
Definition of memset is not found if string.h is not included anywhere
Signed-off-by: Piyush Shah <piyush@espressif.com>
2018-02-22 14:10:04 +05:30
Chris Morgan
86bf8798b2
esp_ping - Document that timeout units are in milliseconds
...
Remove 1000 multiplier from esp_ping_set_target() parameters that define time
2018-02-18 18:47:46 -05:00
Roland Dobai
f44cbe9033
Change ESP_ERR_PING_BASE because of collision with ESP_ERR_TCPIP_ADAPTER_BASE
2018-02-06 12:34:12 +01:00
Liu Zhi Fu
2242bf9b37
lwip/esp32/examples: wifi throughput optimizations
...
1. Put some lwip udp rx/tx relating functions to IRAM
2. Put some wifi rx/tx relating functions to IRAMa
3. Reduce wifi dynamic malloc from 4 to 1 for each ebuf
4. Update iperf example accordingly
5. Update libphy.a to v383
2018-01-30 16:27:49 +08:00
Chen Wu
ffc2db0a35
fix(ping): fix crash when multi-ping
...
1. "lwip_socket" should close by "lwip_close_r" other than "lwip_close"
2. for generally compatible, fix all lwip interface to normally socket interface
3. call vTaskDelete when new socket failed in case of task crash
close #https://github.com/espressif/esp32-at/issues/58
2018-01-12 15:54:07 +08:00
XiaXiaotian
32c0d74cc5
Close socket request will abort tcp write/connect
...
When tcp write/connect is running, close socket request will abort
it and continue to delete netconn and close tcp. Do not immediately
return after aborting tcp write/connect. Otherwise, tcp close
requeset will block and tcp write/connect will crash.
2017-12-19 15:20:50 +08:00
zhangyanjiao
210d349fbd
when netconn created directly,netconn_delete() will not call netconn_free(),
...
which will lead to memory leak
Closes https://github.com/espressif/esp-idf/issues/784
2017-12-05 10:42:37 +08:00
Jiang Jiang Jian
aece22f763
Merge branch 'bugfix/tw16581_dhcps_default_behaviour_changed' into 'master'
...
fix the dhcps default behaviour chenged by dns
See merge request !1612
2017-12-01 19:21:26 +08:00
Ivan Grokhotkov
cc600bd517
Merge branch 'bugfix/fix_lwip_macros' into 'master'
...
lwip: Change socket API macros to static-inline
See merge request !1614
2017-11-30 10:28:20 +08:00
Kedar Sovani
1c0543fb17
lwip: Change socket API macros to static-inline
2017-11-29 11:42:14 +05:30
Angus Gratton
1d5389668b
Merge branch 'feature/dhcp_server_options_menuconfig' into 'master'
...
dhcpserver: Option to change lease time multiplier and number of max
See merge request !1595
2017-11-29 07:07:09 +08:00
zhangyanjiao
e315d7ca08
fix the dhcps default behaviour chenged by dns
...
Closes https://github.com/espressif/esp-idf/issues/1285
2017-11-28 16:39:00 +08:00
Krzysztof Bociurko
626ad5f577
dhcpserver: Option to change lease time multiplier and number of max
...
stations connected to it.
Merges: https://github.com/espressif/esp-idf/pull/1206
2017-11-28 15:58:03 +11:00
Jiang Jiang Jian
a83fbd3364
Merge branch 'bugfix/tw16287_tcp_send_succeed_after_station_disconnect' into 'master'
...
In STA mode, tcp_send cannot catch err after disconnect station
See merge request !1540
2017-11-27 21:30:46 +08:00
zhangyanjiao
0b644ee515
fix tcp connect/disconnect carsh
2017-11-27 10:18:58 +08:00
Angus Gratton
4ce68f6163
lwip: Expose number of active socket limits in menuconfig
2017-11-22 14:10:08 +11:00
zhangyanjiao
9fbcc6f922
In STA mode, tcp_send cannot catch err after disconnect station
2017-11-20 15:19:19 +08:00
Liu Zhi Fu
095d163050
lwip: rebind UDP/TCP pcb to valid ip address when ip is changed
...
This change fix the issue UDP/TCP pcb failed to rebind to correct ip address when ip is changed
2017-11-15 16:15:24 +08:00
Liu Zhi Fu
48ca949fd4
lwip: fix socket close crash issue
...
When lwip_close free the socket resource (netconn etc), any work
related to these resource (netconn etc) must be aborted.
2017-11-13 06:00:52 +00:00
Jiang Jiang Jian
004c391591
Merge branch 'feature/adjust_task_stack_size_according_to_nano' into 'master'
...
esp32/lwip: adjust task stack size according 'nano' print
See merge request !1510
2017-11-13 11:18:20 +08:00
Liu Zhi Fu
710055025e
esp32/lwip: adjust task stack size according 'nano' print
...
1. Adjust tcpip/main/event/timer task stack size according 'nano' print
2. If 'nano' print is disabled the task stack size reduces 512 bytes
2017-11-09 10:09:42 +08:00
Dmitry4Bh
a0cedb1f44
Fix type conversion error in components/lwip/api/pppapi.c
...
Pointer tcpip_api_call *m should be converted to pppapi_msg* instead of pppapi_msg_msg*
in pppapi_do_ppp_set_default(), pppapi_do_ppp_free() and so on.
It solve this issue https://github.com/espressif/esp-idf/pull/1028
so there is no need to patch ip4.c because now netif_defauilt is setted correctly.
Also it prevents memory corruption when pppapi_free() is called.
2017-11-03 16:42:56 +08:00
Angus Gratton
696dfbcfee
Merge branch 'bugfix/fix_tcp_crash' into 'master'
...
fix tcp crash
See merge request !1444
2017-10-31 06:18:49 +08:00
Angus Gratton
5c5d5f0acb
Merge branch 'bugfix/tcpip_stack_overflow_logging_printf' into 'master'
...
lwip: Increase minimum TCP/IP task stack size if log level is Debug or Verbose
See merge request !1396
2017-10-26 15:09:22 +08:00
zhangyanjiao
18dcbfa1e2
fix tcp crash
2017-10-24 09:44:44 +08:00
Ivan Grokhotkov
552ba35da5
add missing ioctl declaration
...
Previously ioctl was declared as a macro in lwip/sockets.h.
Disabling LWIP_POSIX_SOCKETS_IO_NAMES removed that declaration.
This adds sys/ioctl.h file and the missing declaration.
Also adds missing includes in vfs.c.
2017-10-23 19:47:33 +08:00
Angus Gratton
e5ae0f5927
lwip: Make LWIP_SOCKET_OFFSET signed, remove need for underflow check
...
This reverts commit 541493d877
.
2017-10-20 18:04:28 +08:00
Liu Zhi Fu
cf7ae8135b
tcpip_adapter/lwip: make dhcp domain name server option configurable
...
Add api to configure dhcp option: domain name server
1.closes https://github.com/espressif/esp-idf/issues/162
2.closes https://github.com/espressif/esp-idf/issues/705
2017-10-19 19:28:00 +08:00
Angus Gratton
86c89ff169
pthread: Add support for pthread thread local storage
...
Refactors LWIP to use this for the LWIP thread local semaphore
2017-10-17 14:46:08 +08:00
Angus Gratton
90bf40587e
Merge branch 'feature/sockets_files_shared_fd_space' into 'master'
...
lwip & vfs: POSIX I/O functions operate on sockets and files (first stage, no select() yet)
See merge request !1352
2017-10-17 14:17:09 +08:00
Jiang Jiang Jian
50c993a1b2
Merge branch 'feature/some_refactor_for_esp_ping' into 'master'
...
lwip: refactor to socket ping
See merge request !875
2017-10-16 17:30:00 +08:00
Angus Gratton
539262b5c2
vfs: Remove fd_offset member
...
This was intended for integrating LWIP, but a different approach was used.
2017-10-16 09:45:50 +08:00
Angus Gratton
541493d877
lwip: Check for underflow in FD_SET()/FD_GET()
...
select() only works with LWIP sockets which have a high LWIP_SOCKET_OFFSET,
so chance of accidental underflow is high.
2017-10-16 09:45:50 +08:00
Angus Gratton
3f83914f7a
lwip: Fix bug with LWIP_SOCKET_OFFSET & IGMP group support
2017-10-16 09:45:50 +08:00
Angus Gratton
3ebf7923d3
lwip: Route LWIP socket POSIX I/O functions via IDF VFS layer
...
No more conflicts between LWIP & newlib read(), write(), fcntl(), etc.
select() still only works if all of the fds are sockets.
Closes https://github.com/espressif/esp-idf/issues/273
2017-10-16 09:45:49 +08:00
Angus Gratton
0c50b65a34
lwip: Increase minimum TCP/IP task stack size if log level is Debug or Verbose
...
... unless nano formatting is enabled.
Fixes stack overflow in tcpip_adapter at the default level, as reported on forum:
https://esp32.com/viewtopic.php?f=2&t=3250&p=15538#p15447
2017-10-16 09:43:23 +08:00
Liu Zhi Fu
3bcaa592ee
lwip: refactor to socket ping
...
Do some refactor to socket ping:
1. Add ping_deinit to kill ping thread
2. Apply configuration set by esp_ping_set_target to socket ping
3. Limit only one ping thread
2017-10-13 16:37:09 +08:00
Liu Zhi Fu
e2d077cea1
lwip: init lwip error code
...
Init the error code to ERR_OK when call tcpip_apimsg
2017-10-13 15:59:04 +08:00
XiaXiaotian
5df39cd4b6
Allocate some memories in SPIRAM first.
...
Try to allocate some WiFi and LWIP memories in SPIRAM first. If
failed, try to allocate in internal RAM then.
2017-10-13 10:11:24 +08:00
XiaXiaotian
ad1350f0ac
Release DHCP structure memory when netif is down.
2017-10-12 17:03:44 +08:00
Angus Gratton
3fdb1944d3
lwip: Disable IPV4 Link-Local addressing by default
...
Keeps existing IDF behaviour the same. Can still be enabled via menuconfig.
2017-10-02 10:50:27 +11:00
Angus Gratton
2cc8c91ad8
lwip: Remove undocumented CONFIG_MDNS macro flag
...
All options that were enabled via CONFIG_MDNS are now in menuconfig, with
the default values set the same as with CONFIG_MDNS enabled (meaning existing
projects that were using CONFIG_MDNS do not need to change).
2017-10-02 10:50:27 +11:00
Angus Gratton
04a2cefb26
lwip: Enable IPV6_ONLY option for UDP sockets (BSD & netconn)
...
* setsockopt(s, IPV6_ONLY, &one, sizeof(int)) will disable IPV6-only
mode. Incoming/outgoing IPV4 packets are dropped.
* Otherwise, sockets bound to IPV6_ANY_ADDR can receive unicast packets
for IPV4 or IPV6.
* sendto() a IPV6-mapped-IPV4 address on a UDP socket works correctly
(not supported for RAW or TCP sockets.)
* getaddrinfo() option AI_V4MAPPED is implemented.
As well as extending support to TCP & RAW, there is some potential improvement
to dropping incoming packets - the drop happens a bit late in the process and
there is no "ICMP port unreachable" response sent.
2017-10-02 10:50:27 +11:00
Angus Gratton
961180617e
lwip: Add IPV6 multicast group membership socket options
...
As described in RFC2133: IPV6_MULTICAST_IF, IPV6_MULTICAST_HOPS,
IPV6_MULTICAST_LOOP, IPV6_MULTICAST_LOOP, IPV6_DROP_MEMBERSHIP.
2017-10-02 10:50:27 +11:00
Ivan Grokhotkov
b7a79ab67e
Merge branch 'bugfix/bind_dhcp_server_udp_to_ip_of_ap' into 'master'
...
Fix the bug that if one device is in station+softap mode, other device can not get IP address after connecting to the softap.
See merge request !1314
2017-09-26 16:06:55 +08:00
Liu Zhi Fu
05b0d567e5
example: add iperf example
...
Support iperf
2017-09-26 09:19:01 +08:00
XiaXiaotian
20064978ba
Fix the bug that if one device is in station+softap mode, other device can not
...
get IP address after connecting to the softap.
Now the default netif is station in station+softap mode. The UDP pcb of
DHCP server is binded to IP 0.0.0.0. When other device connects to softap, the
DHCP offer will be sent by softap.But because the destination IP of DHCP offer
is broadcast IP and the source IP of it is 0.0.0.0, it will be sent from default
netif, that is station interface. Other device can not receive the DHCP offer
sent from station interface. As a result, other device can not get IP address.
The resolution is that bind UDP pcb to the IP address of softap. So, the source
IP of DHCP offer is that of softap. DHCP offer can be sent from softap interface
by source IP route method.
2017-09-23 20:18:50 +08:00
zhangyanjiao
336c4b4a55
fix lwip tcp_oversize_dbgcheck assert
2017-09-15 10:28:51 +08:00
zhangyanjiao
164006509f
optimize lwip route when loopback open and in "APSTA" mode
2017-09-14 16:19:05 +08:00
Ivan Grokhotkov
868b0ce228
Merge branch 'bugfix/list_node_naming' into 'master'
...
Fix "list_node" name conflict in bluedroid & dhcp_server
See merge request !1216
2017-09-12 12:10:54 +08:00
Angus Gratton
73b3ae8a2d
lwip: Use hardware RNG for LWIP_RAND(), use LWIP_RAND() for random port assignment
2017-09-07 16:32:05 +10:00
Angus Gratton
74d5f85c53
Merge branch 'feature/build_warn_undefined_vars' into 'master'
...
Add --warn-undefined-variables to MAKEFLAGS (github #138 )
See merge request !1214
2017-09-05 15:39:48 +08:00
Angus Gratton
9471ce9135
dhcpserver: Move DHCP option names to a separate header
...
Avoids naming conflicts. Resolves TW13826.
2017-09-05 17:28:40 +10:00
Angus Gratton
1be6bf6790
dhcpserver: Move list_node to implementation not public interface
...
Was unused in the public interface.
Closes https://github.com/espressif/esp-idf/issues/948
2017-09-05 17:14:23 +10:00
Angus Gratton
f17bbff4b5
Merge branch 'feature/tcp_msl_menuconfig' into 'master'
...
components/lwip: Expose TCP_MSL in menuconfig. (github #783 )
See merge request !1175
2017-09-05 14:18:36 +08:00
Angus Gratton
8670844acf
build system: Restore ifdef/ifndef in Makefiles, clean up examples build
2017-09-05 16:11:03 +10:00
Deomid Ryabkov
9903ea1c11
Add --warn-undefined-variables to MAKEFLAGS
...
Fix warnings where undefined vars are used.
Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.
When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.
Fixes espressif/esp-idf#137
Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Ivan Grokhotkov
9da1bf1a45
Merge branch 'bugfix/lwip_send_timeout' into 'master'
...
match sys tick with lwip_send_timeout
See merge request !1203
2017-09-04 18:19:59 +08:00
zhangyanjiao
547b7b0246
match sys tick with lwip_send_timeout
2017-09-04 14:52:16 +08:00
Stephen Casner
1e3dd2a4fa
Add missing debug log message for out-of-sockets case
...
Merges https://github.com/espressif/esp-idf/pull/903
2017-08-30 17:55:00 +10:00
devsaurus
92535158e7
components/lwip: Expose TCP_MSL in menuconfig.
...
Merges https://github.com/espressif/esp-idf/pull/783
2017-08-30 16:44:53 +10:00
Jiang Jiang Jian
72a6b26244
Merge branch 'bugfix/tw14823_lwip_assert_err' into 'master'
...
assert when close a connecting socket
See merge request !1136
2017-08-24 11:29:32 +08:00
zhangyanjiao
61f64e38d9
assert when close a connecting socket
2017-08-22 20:36:35 +08:00
Liu Zhi Fu
b45433110f
tcpip_adapter/lwip: optimize wifi/ip event
2017-08-21 14:36:44 +08:00
Liu Zhi Fu
4ad1f2b272
lwip: optimize TCP close
...
Optimize TCP close:
1. Not remove TCP pcb when IP address is changed since the lwip netconn still need the pcb
2. If the TCP connection is in TCP_FIN_WAIT_1 for too long time, remove it
2017-07-27 12:44:39 +08:00
Jiang Jiang Jian
460ab2e33b
Merge branch 'feature/make_tcp_udp_receive_mbox_configurable' into 'master'
...
lwip: Make UDP/TCP receive mail box configurable
See merge request !1051
2017-07-25 20:45:38 +08:00
Liu Zhi Fu
7b2f388abc
lwip: Make UDP/TCP receive mail box configurable
...
Different application may require different TCP/UDP receiv mail box size,
so make them configurable.
2017-07-25 13:56:32 +08:00
Liu Zhi Fu
9ae5c6700b
lwip/ethernet: fix emac rx buf err
...
1. Lwip not free the ethernet buf in lwip layer
2. Fix emac counter error
2017-07-25 11:19:31 +08:00
Jiang Jiang Jian
4ec2abbf23
Merge branch 'feature/some_refactor_for_tcpip_adapter' into 'master'
...
tcpip_adapter: not remove netif when tcpip adapter is stopped
See merge request !943
2017-07-13 22:16:00 +08:00
Liu Zhi Fu
d724cc23d2
tcpip_adapter: not free netif when tcpip adapter is stopped
...
When tcpip adapter is stop, don't free the netif
2017-07-13 18:42:45 +08:00
XiaXiaotian
7a64e19ba8
Broadcast IP route based on source IP address.
...
If destination IP address of the packet is broadcast address, firstly compare
source IP address with the that of each network interface. If it matches,
packet is forwarded from the interface.
2017-06-30 16:18:29 +08:00
Angus Gratton
857a7f186e
lwip: Make LWIP_ERROR behave as if assertions were off, even if they are on
2017-06-27 18:36:54 +10:00
Angus Gratton
f5e7f2bb8f
lwip: Remove port-specific sys_arch_assert(), use libc __assert_func() instead
2017-06-27 17:32:17 +10:00
Angus Gratton
0c301206cf
lwip debug: fix typo
2017-06-23 16:28:38 +10:00
Angus Gratton
8f4fc209a1
lwip: Enable LWIP assertions unless they are disabled globally
2017-06-23 16:26:11 +10:00
Angus Gratton
1c6510ed96
lwip: Allow configuring/disabling some TCP options to save RAM
...
RAM savings are small, but may add up when running large numbers of sockets.
2017-06-23 16:26:11 +10:00
Angus Gratton
1ea0ddb025
lwip: Expose broadcast/multicast ping enable options in menuconfig
2017-06-23 16:15:00 +10:00
Angus Gratton
ae05787a51
Merge branch 'bugfix/make_srcdirs_order' into 'master'
...
build system: Fix bug where component src subdirs needed listing before parent source dirs
See merge request !778
2017-06-06 14:37:21 +08:00
Liu Zhi Fu
cd58f089c2
lwip: fix dhcp server crash issue
...
Fix long dhcp request packet cause dhcp server crash issue
2017-06-02 14:02:33 +08:00
jack
fc130fba86
fix bug that files missing commit in MR 773
2017-05-31 19:37:39 +08:00
Angus Gratton
99771a255f
build system: Fix bug where component src subdirs needed listing before parent source dirs
...
Triggered on make 3.81, happens sometimes on Linux and always(?) on macOS. May depend on the order the OS' filesystem
resolves wildcards in.
Includes a revert to the LWIP component to verify this is properly fixed.
See also https://github.com/espressif/esp-idf/issues/632
2017-05-22 11:45:55 +10:00
Jiang Jiang Jian
195358ddb7
Merge branch 'bugfix/lwip_loopback' into 'master'
...
fix(lwip): fix tcp connect fail when enable LOOPIF
when enable the LOOPIF, because of use the loopnetif, the TCP connect will fail. see TW12029
See merge request !711
2017-05-05 15:45:14 +08:00
Liu Zhi Fu
5cf3b1c201
esp32/lwip: adjust some lwip options and update wifi lib
...
1. Modify TCP TX window from 2 to 4
2. Modify TCPIP task stack default size from 2048 to 2560
3. Update wifi lib for TCP performance optimization
2017-04-28 15:25:33 +08:00
Liu Han
aeecbcc7ee
fix(lwip): fix tcp connect fail when enable LOOPIF
2017-04-27 18:59:47 +08:00
Ivan Grokhotkov
8d6a03820a
lwip: fix error when building on OS X, only build ppp if enabled
...
- reorder directories listed in COMPONENT_SRCDIRS so that
subdirectories precede parent directories
- don’t include PPP source directories if PPP support is not enabled
2017-04-25 17:22:09 +08:00
Jiang Jiang Jian
3f4e917ad6
Merge branch 'feature/ppp_over_serial' into 'master'
...
Enable experimental/unsupported PPP over Serial driver
From PR #272 https://github.com/espressif/esp-idf/pull/272
See merge request !690
2017-04-25 14:02:55 +08:00
Angus Gratton
f3a567b65d
PPPoS: Rearrange config items (move TCP/IP stack size to LWIP), mark as experimental/unsupported
...
Ref #272
2017-04-21 14:23:34 +10:00
Adrian Muzyka
47c722d674
Enable lwip PPPoS support
...
* Fix some lwip api bugs
* Added PPP_SUPPORT parameter to lwip Kconfig
* Added example pppos_client
Merges #272 https://github.com/espressif/esp-idf/pull/272
2017-04-21 14:23:34 +10:00
Liu Zhi Fu
ab37f89f55
lwip: fix tcp stable test abort issue
...
1. Modify dhcp server timer to 1 seconds
2. Enable ETHARP_TRUST_IP_MAC
modify according to review
2017-04-19 17:39:32 +08:00
Ivan Grokhotkov
378884660a
Merge branch 'feature/tw11250_add_tcp_delay_statistics' into 'master'
...
lwip: refactor to esp specific counter
1. Add tcp debug counter
2. Refactor other ESP specific counter
See merge request !635
2017-04-13 15:29:36 +08:00
Edmund Huber
eab6d483a5
give the AP and STA netifs different names for ease of debugging lwip
2017-04-11 20:40:36 +08:00
Liu Zhi Fu
ece61944f4
lwip: refractor to esp specific counter
...
1. Add tcp debug counter
2. Refractor other ESP specific counter
2017-04-10 14:46:48 +08:00
Jiang Jiang Jian
fc15d72038
Merge branch 'feature/implement_lwip_critical_protect_with_mutex' into 'master'
...
lwip: implement lwip critical session with mutex
Currently lwip critical session is based on interrupt, now replace it with mutex
See merge request !595
2017-04-01 17:27:20 +08:00
Liu Zhi Fu
68e27f8188
optimize tcpip adapter layer
2017-04-01 16:41:51 +08:00
Liu Zhi Fu
778a475136
lwip: implement lwip critical session with mutex
...
Currently lwip critical session is based on interrupt, now replace it with mutex
2017-04-01 16:24:58 +08:00
Liu Zhi Fu
a8f9d99cae
lwip: optimize dhcp renew/rebind timer
2017-03-16 09:46:43 +08:00
Ivan Grokhotkov
9463a7c594
Merge branch 'feature/lwip_numbers' into 'master'
...
Change max number of open sockets
Change max number of open sockets from 16 to 32 because of MFI project need support 21 open sockets at least.
See merge request !532
2017-03-06 22:37:12 +08:00
Ivan Grokhotkov
7754647e71
Merge branch 'bugfix/separate_ethernet_and_wifi' into 'master'
...
Allow separate ethernet & wifi configuration
If only 1/2 of ethernet & WiFi are enabled in config, the other interface is no longer linked into the firmware.
* Fixes bug where enabling Ethernet but not WiFi would fail to compile.
* Also means that enabling WiFi but not Ethernet no longer links some unused ethernet interface functions.
See merge request !525
2017-03-03 11:53:32 +08:00
Jiang Jiang Jian
6451c57e52
Merge branch 'bugfix/tw10169_dhcp_release_cause_tcp_abort' into 'master'
...
Bugfix/tw10169 dhcp release cause tcp abort
Modify the DHCP timer granularity from 1 minutes to 1 second.
See merge request !539
2017-03-02 17:28:11 +08:00
Liu Zhi Fu
66199b1efe
Check DHCP rebind timer before checking dhcp release timer in cause they have the same value.
...
lwip: modify dhcp timer granularity from 60s to 1s
Current DHCP granularity is 60 seconds, it's not accurate, it can cause DHCP release/rebind/renew timer
timeout at the same time, also it may renew/rebind/release at wrong time, thus cause problem.
2017-03-01 20:50:58 +08:00
Liu Zhi Fu
3b3c3210a6
lwip: fix bool options default value wrong issue
...
menuconfig options with bool type should use 'y/n' to use the default value,
instead of '1/0'
2017-03-01 13:37:36 +08:00
Liu Han
03ea45046d
lwip: Change max number of open sockets
2017-02-27 14:47:48 +08:00
Angus Gratton
eb1fbaabce
lwip: Refactor support for L2 pbuf free notification into each driver
...
Makes it easier to handle different drivers enabled at compile/link time.
2017-02-24 14:45:17 +11:00
qiyueixa
03e3b137bf
lwip: optimize the dhcp client
...
1. modify the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s.
2. add DHCP_DOES_ARP_CHECK to menuconfig for users to specify if do a ARP check on the offered address.
If enable, one more second will be taken in obtaining IP address.
3. update wifi libs
2017-01-23 13:44:34 +08:00
Jan Schmidt
a14f22f65b
netconn_gethostbyname: Fix race reporting success
...
If the DNS request is dispatched and performed very quickly,
then it can complete before tcpip_callback() actually returns,
in which case we'll destroy the actual err_t error value passed
in the message. Use a local variable for the tcpip_callback
error code so that can't happen.
Resolves #269 https://github.com/espressif/esp-idf/pull/269
2017-01-20 14:57:00 +11:00
me-no-dev
d3a2d6aedc
Do not printf if debug level is not correct
2017-01-18 16:13:09 +02:00
Wu Jian Gang
3c8235d40d
lwip: Allow config TCP_MAXRTX & TCP_SYNMAXRTX in menuconfig
2017-01-17 17:44:25 +08:00
Liu Han
6c86586e97
components/lwip: Set the ping target info
...
Add API for set the ping target info and get the ping result
2017-01-11 10:58:34 +08:00
Liu Han
315b3f979f
components/tcpip_adapter: Allow to set different hostname for each interface
2017-01-10 12:42:14 +08:00
Wu Jian Gang
9dd5f2a952
lwip: fix compile issue when autoip option enabled
2017-01-09 10:22:36 +08:00
Ivan Grokhotkov
0efaa4f4b8
Merge branch 'feature/lwip-rcvbuf-option' into 'master'
...
add menuconfig option to enable SO_RCVBUF
This option is required by Arduino and enables netconn connection to be queried for amount of data available in the rx buffer.
See merge request !372
2017-01-07 18:45:37 +08:00
Wu Jian Gang
c943fabcda
Merge branch 'feature/CoAP' into 'master'
...
Add CoAP feature
Add CoAP protocol, support client and server test demo.
See merge request !303
2017-01-06 15:37:09 +08:00
me-no-dev
0feb3633fc
add menuconfig option to enable SO_RCVBUF
2017-01-05 13:17:52 +02:00
Liu Zhi Fu
d98b99f4f0
lwip: rework according review comments
2017-01-05 12:22:49 +08:00
Liu Zhi Fu
0fb2ab9f5c
lwip/freertos/esp32: add throughput optimization related code
...
1. Update wifi lib which contains ampdu and other optimizations
2. Add throughput code debug code
3. Other misc modification about throughput optimization
2017-01-05 11:37:08 +08:00
liuhan
d0b10ba2dd
components/coap: Add libcoap port for ESP32 platform
2016-12-30 15:05:26 +08:00
Wu Jian Gang
0b79a108b8
Merge branch 'feature/add_ip_frag_option' into 'master'
...
lwip: add ip frag and reassembly option in menuconfig
add ip frag and reassembly option in menuconfig
See merge request !348
2016-12-29 11:26:06 +08:00
Angus Gratton
06e03ff52e
Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS
...
Closes github #51 https://github.com/espressif/esp-idf/issues/51
2016-12-28 10:23:13 +11:00
XiaXiaotian
15651b5923
lwip: add ip frag and reassembly option in menuconfig
2016-12-26 15:47:20 +08:00
shangke
5ddf6daa98
feature/ethernet_driver: update ethernet driver
...
1. The transmitting mode of the packets from LWIP to MAC is changed from synchronous to asynchronous.
2. The receive buf mode : support pointer mode and copy mode.
3. Add get phy status func used to config mac register.
2016-12-26 14:50:49 +08:00
Angus Gratton
d031530196
Merge branch 'feature/dhcpserver_null_gw' into 'master'
...
Allow gw to be null
Github Pull Request 163: https://github.com/espressif/esp-idf/pull/163
Allow interfaces to be configured without a default gateway, for
local-only communication.
In case of the AP interface, if gw is not set, do not offer it.
See merge request !312
2016-12-20 06:14:44 +08:00
Liu Zhi Fu
55726385a4
add more comments and call portYIELD when necessary
2016-12-15 15:06:00 +08:00
Liu Zhi Fu
5e2ae7ac19
lwip: fix lwip dual core issue
...
Call xSemaphoreGiveFromISR instead xSemaphoreGive when the calling context is in critical section.
2016-12-15 14:37:21 +08:00
Deomid Ryabkov
cbff82cc44
Allow gw to be null
...
Allow interfaces to be configured without a default gateway, for
local-only communication.
In case of the AP interface, if gw is not set, do not offer it.
2016-12-14 19:34:04 +00:00
Angus Gratton
94d2f77643
build system: Remove FLAGS_XXX variable option, replace with per-target overrides
...
Use for targeted disabling of warnings in LWIP.
2016-12-07 13:49:09 -08:00
shangke
e0040af7e5
ethernet: add first version of ethernet driver
2016-12-01 19:17:48 +08:00
Xia Xiaotian
ad555d68d3
esp32/lwip: add check sleep
...
1. fix tw8911 sleep in scan leads to auth frame malloc fail.
2. fix tw8913 pm state transfer wrong leads to wdt.
3. make some comments for modem sleep and wpa2 enterprise.
4. removd duplicated debug option ESP_THREAD_SAFE_DEBUG
2016-12-01 13:34:36 +08:00
liuhan
f9d2d63e75
lwip: update open socket number.
...
modify default number from 4 to 10
2016-11-29 16:25:17 +08:00
Liu Zhi Fu
fc2883a59a
lwip: modify according code review
...
1. Modify tcp window size/send buffer back to 4/2
2. Disable lwip statistics by default
2016-11-28 19:54:22 +08:00
Liu Zhi Fu
9a3f9af2db
esp32/lwip: some misc changes
...
1. Update phy to fix HT40 rx issue
2. Add code about RX_DONE/TX_DONE/Lock-free optimization
3. Fix wifi ioctl return value error
4. Add lwip statistics debug code
5. Modify TCP window size to 10 and send buffer size to 5
2016-11-28 18:36:14 +08:00
Wu Jian Gang
7f2c6a9d80
Merge branch 'bugfix/tw8770_fix_socket_memory_leak' into 'master'
...
lwip: fix socket memory leak issue
1. Add socket memory leak debug counter
2. Fix TCP PCB leak issue
Currently ESP32 support maximum 16 TCP PCBs and all TCP PCB are allocated from heap memory. In some scenario, we may
have memory leak issue, for example, the application already created 16 TCP PCB, then it close 5 of them, because the TCP
state machine, the LWIP core may not free all the 5 TCP PCB immediately, maybe some is in TIME_WAIT status, some is in
FIN_WAIT_1 etc. Then the application try to malloc 17th TCP PCB (the application think they just create 12 because they already
close 5), memp_malloc() will return true because the heap is not out of memory, but actually we got 17 TCP PCB. When the
scenario repeat again and again (in our Audio application, it repeat more than 10000 times), more and more TCP PCB will be
created in the system, each TCP PCB require 200B, then memory leak happen (In Audio application, I saw more than 26 TCP PCB
are created, and 10*200=2K memory are leaked).
See merge request !223
2016-11-25 13:44:02 +08:00
Wu Jian Gang
e05fe28574
Merge branch 'bugfix/arp_queue_failed' into 'master'
...
report the arp queue fail result
See merge request !227
2016-11-22 14:45:44 +08:00
Wu Jian Gang
46c81ded73
Merge branch 'feature/tw8799_low_level_output_optimize' into 'master'
...
Feature/tw8799 low level output optimize
Fix a potential memory crash error in low_level_output
See merge request !224
2016-11-22 11:56:35 +08:00
tianzhongxing
cc39b7b286
components/lwip/arp: change the arp dropping packet function
...
LWIP will drop the oldest package at the arp packet cache queue and return "ERR_OK"
We change it that ARP level will drop the current packet and return "ERR_MEM" to tell user that you should send the packet again latter.
2016-11-22 10:11:52 +08:00
Liu Zhi Fu
586c17f831
lwip: remove useless printf info
2016-11-21 16:08:39 +08:00
Liu Zhi Fu
9cc9710a27
lwip: update according to review comments
...
1. Define memp_malloc/memp_free as static inline function
2. When TCP pcb is out of memory, try to kill PCB in FIN_WAIT_1 when necessary
2016-11-21 15:02:36 +08:00
tzx
a8fb9f2b84
ipv6 interface: add branch for ipv6 interface
2016-11-21 11:06:51 +08:00
Liu Zhi Fu
8cd48d9f9c
lwip: rework for low_level_output
2016-11-20 17:05:44 +08:00
Liu Zhi Fu
fa57720cdf
lwip: optimize low_level_output
...
When the parameter pbuf for low_level_output is a list, malloc a new pbuf of
which the length equals to the total length of pbuf and send the new pbuf to L2
2016-11-19 22:25:30 +08:00
Liu Zhi Fu
b08113d2b4
lwip: fix CI build issue
2016-11-19 15:14:37 +08:00
Liu Zhi Fu
ab92d43bc6
lwip: fix socket memory leak issue
...
1. Add socket memory leak debug counter
2. Fix TCP PCB leak issue
2016-11-19 14:57:42 +08:00
Liu Zhi Fu
5e428f21b6
lwip: default ESP_L2_TO_L3_COPY to 0
2016-11-17 10:53:00 +08:00
Liu Zhi Fu
ceea97495f
lwip:refractor to the description about this menuconfig option
2016-11-17 10:22:20 +08:00
Liu Zhi Fu
0b2cea6e9f
lwip: modify menuconfig comments according to review
2016-11-16 21:11:17 +08:00
Liu Zhi Fu
69dbc36a1c
lwip: add option to memcopy packet from L2 to L3
...
Menuconfig add an option to copy the packet from layer2 (WIFI driver) to layer3 (LWIP), default not copy
2016-11-16 16:24:41 +08:00
Angus Gratton
208e83def7
build system: Refactor component.mk to not need component_common.mk
...
New makefile component_wrapper.mk allows some variables to be set
before component.mk is evaluated. This properly fixes problems with
sdkconfig being hard to access in all phases of the build.
Including component_common.mk is no longer necessary and will print a
deprecation warning for components which use it.
2016-11-10 15:52:22 +11:00
Ivan Grokhotkov
3f8d9d71e2
lwip: fix duplicate definition of O_NONBLOCK
...
LwIP will define O_NONBLOCK in sockets.h if it isn't defined yet.
If sys/fcntl.h is included after socket.h, there will be duplicate definition.
Work around by including sys/fcntl.h into lwipopts.h.
https://github.com/espressif/esp-idf/issues/75
2016-11-08 20:17:08 +08:00
Ivan Grokhotkov
eb2c633cbf
newlib: implement settimeofday, integrate LwIP SNTP, add SNTP example
2016-11-03 12:46:46 +08:00
Liu Zhi Fu
f0cd38a079
lwip: remove tx flow control code
2016-11-01 15:25:46 +08:00
Liu Zhi Fu
92b663d9f2
lwip: optimize tx flow control
...
1. Remove tx flow control for TCP
2. Remove tx flow control for UDP temporary
3. Return the error code when call esp_wifi_internal_tx()
2016-10-31 21:26:33 +08:00
Liu Zhi Fu
2b722ea468
turn on per socket tcp window by default
2016-10-31 19:43:18 +08:00
Liu Zhi Fu
19f61332a9
make build pass when disable per soc tcp window
2016-10-31 19:38:47 +08:00
Liu Zhi Fu
a5552b1e21
lwip: fix tcp rx abnormal issue(tw8242)
...
In tcp_alloc(), initialize per_soc_tcp_wnd before initializing recv_wnd because recv_wnd depends on per_soc_tcp_wnd.
2016-10-31 17:50:09 +08:00
Liu Zhi Fu
9e7bc900c5
lwip: rework comments according to review
2016-10-28 13:35:06 +08:00
Liu Zhi Fu
38ff616e4a
lwip: add prompt when configure max sockets number in menuconfig
2016-10-28 12:29:26 +08:00
Liu Zhi Fu
305b63209e
lwip: support max 16 sockets
...
Since the customers need more sockets in their application, support max 16 sockets,
in other words, the total socket number of UDP/TCP/RAW sockets should not exceed 16.
2016-10-28 12:03:51 +08:00
Liu Zhi Fu
6e6e51426f
lwip: refractor for lwip
...
1. All espressif specific code are prefix with ESP_
2. Define all ESP_ options in lwipopts.h
3. Remove useless code added in 8266
2016-10-27 14:11:01 +08:00
Jeroen Domburg
5642a8061e
Merge branch 'feature/add_per_socket_tcp_window' into 'master'
...
components/lwip - add per socket tcp window
Add code to support per socket tcp window and tcp send buffer size configuration.
See merge request !145
2016-10-26 23:39:36 +08:00
liuzhifu
a90217e201
components esp32/lwip: modify code according to review comments
...
1. Modify comments for esp_wifi_internal_tx
2. Fix delay time error in esp32_tx_flow_ctrl which is found in code review,
modify _wait_delay init value from 0 to 1
2016-10-26 14:09:54 +08:00
liuzhifu
612aaa69e4
lwip/esp32: move the extern wifi calls into esp_wifi_internal.h
...
1. Add esp_wifi_internal.h
2. Rename system_pp_recycle_rx_pkt to esp_wifi_internal_free_rx_buffer
3. rename esp_wifi_tx_is_stop to esp_wifi_internal_tx_is_stop
4. rename ieee80211_output to esp_wifi_internal_tx
2016-10-26 13:23:35 +08:00
liuzhifu
60fb9a8c81
components/lwip - add per socket tcp window
...
Add code to support per socket tcp window and tcp send buffer size configuration.
2016-10-23 00:49:41 +08:00
liuzhifu
d71894bf99
lwip/esp32: support iperf
...
1. Add _exit() definition in syscalls.c
2. Fix a bug in sockets.c on which iperf depends
2016-10-09 15:45:25 +08:00
Wu Jian Gang
ed0a85ab4d
Kconfig: use 4 spaces to instead 1 tab
...
In some Kconfig file, both 4 spaces and 1 tab are used mix, let's just
use 4 space, it will be clean in some editor.
2016-09-28 13:24:58 +08:00
Ivan Grokhotkov
b190dc3e9f
components/lwip,esp32: fixes for C++
...
- put contents of a few headers into c++ guard blocks
- fix off-by-one error in do_global_ctors
- remove system_init from startup code (should be called from main)
2016-09-26 03:05:25 +08:00
Ivan Grokhotkov
cc8dd46da2
clean up warnings
...
For third party components (lwip and expat), compilation flags are adjusted to silence existing warnings (i have manually checked that all warnings are benign).
In components/esp32, replaced use of WIFI_DEBUG with ESP_LOG functions.
Only remaining warning is in FreeRTOS queue.c, and it may be a useful one.
2016-09-26 00:52:32 +08:00
Ivan Grokhotkov
9a1bf32274
Merge branch 'feature/lwip_add_debug_code' into 'master'
...
lwip: add debug code to show udp/tcp pcbs
Add code to show all tcp/udp pcbs, these kind of debug info is helpful for lwip issue debugging.
See merge request !98
2016-09-20 17:22:22 +08:00
Ivan Grokhotkov
3b22173a93
components/lwip: fix grammar
2016-09-20 16:53:56 +08:00
Ivan Grokhotkov
316d3f9c4a
components/lwip: make SO_REUSE configurable via menuconfig
...
Not all environments need or can work with SO_REUSE enabled, so making this option configurable.
2016-09-20 15:36:55 +08:00
liuzhifu
f64e1c54b7
lwip: add license and add lwip_debug.h
2016-09-20 15:36:49 +08:00
liuzhifu
50c7583f4d
lwip: add debug code to show udp/tcp pcbs
2016-09-20 14:51:03 +08:00
Jeroen Domburg
4d4c6a3694
Enable SO_REUSEADDR in LWIP
2016-09-18 16:43:48 +08:00
Wu Jian Gang
2efaf42253
Merge remote-tracking branch 'origin/feature/mbedtls'
2016-09-14 18:05:56 +08:00
Xu Chun Guang
064d2b4ecb
dhcpserver: Fix crash when switching wifi mode
...
See Teamwork 7058.
2016-09-14 16:14:50 +08:00
liuzhifu
d2d231de29
define lwip task priority in esp_task.h
2016-09-14 12:00:46 +08:00
liuzhifu
4a98027242
components: lwip - Modify lwip task priority and stack definition method
...
lwip task priority and stack size defintion should not depends on esp_task.h, define it
in lwipopts.h directly
2016-09-14 12:00:46 +08:00
liuzhifu
9cf997a6fc
components: esp32/lwip
...
Add esp_task.h for placing all task priority/stack size macro definition
2016-09-14 12:00:46 +08:00
liuzhifu
56a684d9eb
task priority: modify lwip/wifi/event task priority
...
1. Modify lwip core task priority to configMAX_PRIORITIES-7
2. Modify wifi startup task priority to configMAX_PRIORITIES-7
3. Modify event task priority to configMAX_PRIORITIES-4
2016-09-14 11:59:25 +08:00
Wu Jian Gang
058a411786
Merge branch 'feature/add_wifi_api_comments' into 'master'
...
Feature/add wifi api comments
Add wifi API comments
See merge request !63
2016-09-14 11:17:29 +08:00
Wu Jian Gang
ed8e8848e3
fix typos
2016-09-13 20:54:20 +08:00
Angus Gratton
9c51f8a7a3
Merge branch 'master' into feature/mbedtls
2016-09-12 17:30:11 +10:00
liuzhifu
32f01c61a2
add comments about current tx flow control
2016-09-09 17:58:21 +08:00
liuzhifu
e38c4b0365
modify esp32_tx_flow_ctrl to static function and move extern api to header file
2016-09-09 17:58:21 +08:00
liuzhifu
19c8476344
modify macro ESP32_TX_FLOW_CTRL to inline function
2016-09-09 17:58:21 +08:00
liuzhifu
a28ef1776e
lwip: add socket tx flow control
2016-09-09 17:58:21 +08:00
Angus Gratton
1d355b93df
lwip: Define LWIP_ESP8266 in port lwipopts.h not gcc command line
2016-09-09 13:53:38 +10:00
Angus Gratton
7c58c1e06b
Build system: Allow components to add to the global CFLAGS via Makefile.projbuild
...
Used by mbedTLS to set MBEDTLS_CONFIG_FILE in all components.
This change sets CFLAGS/etc at the project level and then exports those
variables for components, rather than setting them independently each time
a component Makefile is invoked.
2016-09-09 11:08:19 +10:00
Angus Gratton
31e6b2cdb4
Merge branch 'master' into feature/mbedtls
2016-09-09 10:29:19 +10:00
Angus Gratton
09aa6ebc85
lwip Makefile: Add POSIX headers to include path to #include <sys/sockets.h>, etc, works.
2016-09-08 16:45:57 +08:00
Angus Gratton
3b1c3dab4b
Name component makefiles component.mk instead of Makefile
...
Fixes problems with Eclipse trying to build in directories it shouldn't.
This is a breaking change for existing repositories, they need to rename
any component Makefiles to component.mk and rename their references to
$(IDF_PATH)/make/component.mk to $(IDF_PATH)/make/component_common.mk
2016-09-08 13:41:19 +10:00
Wu Jian Gang
df53d1588a
tcpip_adapter: typedef clean up
2016-09-06 19:36:03 +08:00
Wu Jian Gang
3cf377b06e
dhcp: add dhcp callback
...
The callback has no parameter now.
TODO: add a parameter to show dhcp status if needed.
2016-09-06 19:32:33 +08:00
Wu Jian Gang
ef23607a67
lwip: remove netif_reg_addr_change_cb
2016-09-06 19:32:33 +08:00
Angus Gratton
fe53b96634
Merge feature/lwip_sntp into feature/lwip_sntp_master
2016-09-06 11:49:06 +10:00
Angus Gratton
587f90929c
Minor comment cleanup
2016-09-05 11:50:53 +10:00
Angus Gratton
cb6bd109f2
Merge wifi commit '87977b92f3e12cfca74cf2e4dea87dc8d60b26fc' into feature/wifi-stage-two
2016-09-05 10:42:17 +10:00
Wu Jian Gang
25e1a7bf1a
sntp: fix author name
2016-09-02 16:26:06 +08:00
Angus Gratton
314dbc0b61
Minor comment cleanup
...
Remove old commented code, etc.
2016-09-02 11:33:53 +10:00
liuhan
37d817b6f9
components/lwip: modify sntp function
...
delete sntp_time.c file, move sntp head file.
2016-09-01 19:56:51 +08:00
liuhan
1e3f9fbda3
components/lwip/apps/sntp: modify SNTP function feature
...
modify makefile for compile SNTP function in lwip, see sntp file.
2016-09-01 19:22:36 +08:00
liuhan
380f5635b6
components/lwip: add SNTP function feature
...
Develop and Compile SNTP function based on LWIP core code, see lwip/apps/sntp file.
2016-09-01 19:22:36 +08:00
Wu Jian Gang
87977b92f3
lwip: format dhcpserver.c
2016-09-01 19:05:50 +08:00
liuhan
f5df40e2d1
lwip: fix a mistake in parse_msg of dhcpserver.c
...
TW6872
2016-09-01 18:13:58 +08:00
liuzhifu
1e9fc9f8f1
components: lwip - modify HEAP_HIGHWAT from 6K to 20K
...
Since esp32 has much more memory than esp31B, modify the HEAP_HIGHWAT from
6K to 20K.
Notes: HEAP_HIGHWAT is used for tcp/udp tx flow control, if socket task detects
that the free heap memory is less than HEAP_HIGHWAT, it stops to trasmitting until
the free heap memory is greater than HEAP_HIGHWAT
2016-09-01 15:17:50 +08:00
liuzhifu
77caf256c6
components: lwip - enable PERF macro for debug reason
2016-08-30 18:06:37 +08:00
liuzhifu
c144feb2dd
remove unnecessary print in sys_arch.c
2016-08-30 09:48:08 +08:00
Wu Jian Gang
23cc3c0f90
components/lwip: use newlib errno
2016-08-29 15:35:44 +08:00
liuzhifu
bae976ae0e
components:lwip
...
disable debug info of lwip
2016-08-29 14:32:38 +08:00
liuhan
62c891735b
recompile DHCP server function
...
modify DHCP data parameter type in calling DHCP interface.
2016-08-26 19:06:38 +08:00
liuhan
aec816520c
TW6738: fix DHCP -L issue
...
recompile DHCP server function, only support start, stop and option interface.
2016-08-26 19:06:38 +08:00
liuzhifu
65cccfe89f
components: lwip
...
Implement lwip per-thread-sem with:
vTaskSetThreadLocalStoragePointerAndDelCallback/pvTaskGetThreadLocalStoragePointer
register sys_thread_tls_free to free per-thread-sem when the thread is terminated.
Also let lwip use index CONFIG_LWIP_THREAD_LOCAL_STORAGE_INDEX
2016-08-26 19:06:38 +08:00
liuzhifu
dcc998c92f
components: lwip/tcpip_adapter/freertos/esp32
...
Replace os_printf with printf
2016-08-26 19:03:51 +08:00
liuzhifu
cb3d46786d
enable sys_arch_protect/sys_arch_unprotect with portENTER_CRITICAL/portEXIT_CRITICAL
2016-08-26 19:03:51 +08:00
liuzhifu
52953851f4
component: lwip
...
1. add lock version print for lwip (workaround)
2. add debug info into sys_arch.c to debug xQueueReceive issue
2016-08-26 19:03:51 +08:00
xiaxiaotian
ef0cd1cde3
1. Remove ip member of struct station_info
...
2. Add struct station_list into tcpip_adapter layer
3. When ap -L cmd is received, get mac address from mac layer first and then search ip address based on mac address on dhcp layer.
2016-08-26 19:03:50 +08:00
liuzhifu
91135da190
impact components: lwip/freertos
...
1. Remove xTaskGetPerTaskData
2. Implement lwip per thread semaphore with vTaskSetThreadLocalStoragePointer
and pvTaskGetThreadLocalStoragePointer
3. Add sys_thread_sem_get/sys_thread_sem_init/sys_thread_sem_deinit
2016-08-26 19:03:50 +08:00
liuzhifu
6f122928f0
fix socket compile error
2016-08-26 19:03:50 +08:00
Jeroen Domburg
29c2e58c75
'Merge branch 'thread_local_storage_delete_callbacks' into 'master'
...
The thread-local-storage feature in FreeRTOS attaches an application-usable array of pointers to a thread control block. These pointers usually point to a structure the thread allocates. When a thread gets (voluntarily or involuntarily) destroyed, this memory can leak. This merge adds a matching second array of user-settable pointers to destructor routines. As soon as the task gets cleaned up (which happens in the idle thread), the destructors get called and the memory can be freed.
See merge request !19
2016-08-24 13:30:30 +08:00