Commit Graph

729 Commits

Author SHA1 Message Date
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
Francesco Giancane
64377b54d1 include/netinet/tcp.h: wrap lwip/tcp.h header for compatibility
Some applications (i.e. Azure IoT SDK) are expecting this header to
exist and to contain the tcp constants and description.

The esp32 did not wrap the lwip/tcp.h header, thus this commit adds a
compatibility layer.

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

Merges https://github.com/espressif/esp-idf/pull/4637
2020-01-21 10:11:29 +11:00
xiehang
c0148ef1e8 lwip: Enable IPv6 stateless address autoconfiguration 2020-01-14 07:15:26 +00:00
Jiang Jiang Jian
7a7c4a5486 Merge branch 'bugfix/coex_schm' into 'master'
Bugfix/coex schm

See merge request espressif/esp-idf!7176
2020-01-12 20:37:42 +08:00
Jiang Jiang Jian
a9cf334f0a Merge branch 'feature/Add_tcp_sack' into 'master'
feature for add tcp sack

Closes WIFI-1600

See merge request espressif/esp-idf!7241
2020-01-12 20:28:21 +08:00
baohongde
a2398f0dcc components/esp_wifi: improve coexistence performance according to specific WiFi/BT/BLE scienario
1. Improve WiFi throughput in some Classic BT scienarios(idle, inquire scan,
       connected, sniff, a2dp pause, etc).

    2. Support WiFi + Classic BT + BLE mesh coexistence scienario.

    3. Improve WiFi scan and connect succeed ratio in coexistence scienario.

    4. Do not support to choose software coexistence preference anymore for it is
       determined according to coexistence scienario automatically.

components/lwip: increase TCP send buffer and receive window limitation when TCP window scale is enabled

components/ble_mesh: Fix some bugs about ble mesh

    1. fix send acl pkt after ble have sent terminate ind modify min adv interval to 10ms.
2020-01-10 16:00:12 +08:00
Angus Gratton
bdf6c00154 Merge branch 'feature/likely_unlikely' into 'master'
Adding likely unlikely macros to hot code paths

Closes IDF-284

See merge request espressif/esp-idf!6368
2020-01-10 14:05:07 +08:00
xueyunfei
d8d2991692 feature for add tcp sack 2020-01-09 13:58:08 +08:00
Felipe Neves
fc00236d79 components/esp_common: added esp_macros.h that aims to hold useful macros
esp_common/esp_compiler: renamed esp_macros file to a more specific one

esp_common/esp_compiler: removed CONTAINER_OF macro, it was a duplicate

components/freertos: placed likely macros around port and critical sections

component/freertos: placed likely macros on lists module

components/freertos: placed unlikely macros inside of assertion points, they likely wont fail

components/freertos: added likely macros on queue modules

FreeRTOS queues are one of most hot code path, because to queues itself tend to
be used a lot by the applications, besides that, queues are the basic primitive
to form both mutexes and semaphores, The focus here is to place likely
macros inside lowest level send and receive routines, since they're common
from all kobjects: semaphores, queues, mutexes and FR internals (like timer queue)

components/lwip: placed likely/unlikey on net-interfaces code

components/fatfs: added unlikely macros on disk drivers code

components/spiffs: added unlikely macros on low level fs driver

components/freertos: added likely/unlikely macros on timers and ticker

freertos/event_group: placed likely/unlikely macros on hot event group code paths

components/sdmmc: placed likely / unlikely macros on lower level path of sdmmc

components/bt: placed unlikely macros around bt HCI functions calling

components/lwip: added likely/unlikely macros on OS port code section

components/freertos: fix code style on tick handler
2020-01-03 14:42:49 -03:00
xiehang
3321999e4a lwip: Drop packets larger than MTU 2020-01-03 08:55:35 +00:00
Felipe Neves
4909fdfe02 heap_caps: small fixes on comments plus cleaning 2019-12-20 13:35:56 -03:00
Konstantin Kondrashov
98495e5939 sntp: Add API to set update interval
Closes: https://github.com/espressif/esp-idf/issues/4437
Closes: IDFGH-2298
2019-12-20 18:26:23 +08:00
David Cermak
74d768fe6d ci: updated mqtt weekend test for qemu support
Added default sdkconfig for qemu build for the mqtt publish example,
Added environment configuration for running the same test on target
or in qemu
Updated missing example tests per latest ttfw refactoring
2019-12-17 14:06:40 +01:00
David Cermak
25913af2cc pppos_client: udated example code to use esp-netif in PPP configuration 2019-12-16 17:34:10 +00:00
David Cermak
52ca3a917d esp_netif: Support for PPPoS in esp_netif using lwip ppp client 2019-12-16 17:34:10 +00:00
Jiang Jiang Jian
4100f2e84f Merge branch 'optimize_tcp_random_close' into 'master'
optimize tcp random close

Closes WIFI-1433

See merge request espressif/esp-idf!6907
2019-12-10 16:47:34 +08:00
xueyunfei
fdea4b54c6 optimize tcp random close 2019-12-10 11:55:07 +08:00
Mathias Bredholt
594cec54bd Removed relative path for lwip/arpa/inet.h
The relative path breaks compatibility with arduino-esp32 as the path doesn't exist in arduino-esp32.
https://github.com/espressif/arduino-esp32/pull/3425

Closes https://github.com/espressif/esp-idf/pull/4308
2019-12-09 13:33:44 +05:30
xueyunfei
2fcdbb74f7 fix bug for improve performance 2019-12-09 03:16:12 +00:00
xueyunfei
77b23951e7 fix bug for ramdom tcp crash 2019-11-27 13:39:54 +00:00
Ivan Grokhotkov
e1452f5d6c lw-ip: silence a warning related to CONFIG_LWIP_TCP_WND_DEFAULT value 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
9a2af7ae33 global: remove gcc 5.2 support 2019-11-20 11:17:27 +01:00
David Cermak
f91d69efb2 esp_netif: rename DHCP flags for client and server 2019-11-13 12:36:26 +01:00
David Cermak
cf710a3cb1 esp_netif: include tcpip_adapter legacy header by default to provide *implicit* compatiblity 2019-11-13 12:36:25 +01:00
David Cermak
ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
Angus Gratton
6f761dd62d cmake: Fix some uninitialized variable warnings 2019-11-08 12:50:28 +08:00
Angus Gratton
d0256a8867 Merge branch 'refactor/lwip_port_layer' into 'master'
clean up TCPIP Stack  port layer

Closes IDFGH-1990 and IDFGH-2041

See merge request espressif/esp-idf!6230
2019-10-30 11:58:49 +08:00
xueyunfei
ee57f5d8f3 fix bug for close nonblocking tcp crash 2019-10-29 18:51:55 +08:00
Jiang Jiang Jian
6e00988608 Merge branch 'bugfix/fix_dhcp_timeout_issue' into 'master'
Bugfix/fix dhcp timeout issue

Closes WIFI-917

See merge request espressif/esp-idf!6300
2019-10-29 18:20:14 +08:00
suda-morris
28eae0d467 lwip: cleanup lwip port layer
1. add sys_mbox_trypost_fromisr
2. define sys_msleep
3. simpify semaphore take
2019-10-29 13:11:14 +08:00
Josu Goñi
65d18eab93 Add config option for LWIP TCP_TMR_INTERVAL
Merges https://github.com/espressif/esp-idf/pull/4213
2019-10-29 13:11:14 +08:00
Thomas Schaub
9e2f44b3c2 lwip: add missing source file
Merges https://github.com/espressif/esp-idf/pull/4186
2019-10-29 13:11:14 +08:00
ronghulin
66c0a107c8 lwip: fix DHCP timeout truncation bug
Change the DHCP timeout type from u16 to u32 to fix DHCP timeout value
truncation issue.
2019-10-25 21:07:37 +08:00
Angus Gratton
7ce75a42c7 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-25 15:13:52 +11:00
Angus Gratton
3caa54e546 Merge branch 'feature/add_ping_example' into 'master'
add ping example

Closes WIFI-1196 and IDF-1068

See merge request espressif/esp-idf!6340
2019-10-24 11:37:38 +08:00
Angus Gratton
b216e3b5c8 Merge branch 'feature/lwip_support_mdns_queries' into 'master'
lw-IP: support mdns queries

See merge request espressif/esp-idf!5242
2019-10-23 13:10:41 +08:00
suda-morris
dc6acf0033 icmp: add example and unitest 2019-10-22 04:38:09 +00:00
suda-morris
fa32a4bd93 ping: refactor with new esp_ping_xxx APIs
This refactor is only for backwards compatible.
2019-10-22 04:38:09 +00:00
Andro Nooh
a77e69c408 lwip: add icmp echo example
It piggybacks on the console example to add ping support and CLI.

Merges https://github.com/espressif/esp-idf/pull/4093
2019-10-22 04:38:09 +00:00
Angus Gratton
8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Ivan Grokhotkov
6373196a41 Merge branch 'bugfix/mdns_BCT_fix' into 'master'
mdns: fixes to have the BCT passing with latest IDF/lw-IP

See merge request espressif/esp-idf!6286
2019-10-19 17:10:02 +08:00
Angus Gratton
ae21d669b9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-17 18:22:08 +11:00
Angus Gratton
89d2e2a5e3 Merge branch 'feature/example_netbios' into 'master'
add netbios support in restful server example

Closes IDF-1070

See merge request espressif/esp-idf!6346
2019-10-17 12:54:01 +08:00
David Cermak
07e0254f06 lwip: autoip: used Kconfig parameters instead of constants to be in line with previous esp-lwip port and to have the BCT passed 2019-10-15 07:07:00 +00:00
David Cermak
81cd406683 lwip: support mdns queries 2019-10-15 07:02:19 +00:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
suda-morris
84c72863e1 add netbios support in restful server example 2019-10-14 14:26:43 +08:00
David Cermak
d735f1d58d ci: fix weekend test confguration update per latest refactoring of
grouping tests
2019-09-30 09:51:41 +02:00
Angus Gratton
438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Michael (XIAO Xufeng)
63329b169b ci: limit example test to ESP32s 2019-09-04 10:53:25 +10:00
Angus Gratton
002104b262 Merge branch 'bugfix/err_code_collision' into 'master'
Fix error code collisions and re-enable CI check

Closes IDF-832

See merge request espressif/esp-idf!5923
2019-09-03 08:30:40 +08:00
Roland Dobai
612db28b6f Fix error code collision and CI check 2019-08-29 08:14:08 +00:00
Jon Shallow
e7033716db LwIP: Make IP_PKTINFO support configurable
LwIP has support for IP_PKTINFO, but it cannot be activated as it is
not configurable. This fix adds in the ability to configure it.

Merges https://github.com/espressif/esp-idf/pull/3983
2019-08-29 11:20:56 +08:00
xueyunfei
36920b4062 fix bug for nonblocking udp is zero 2019-08-21 11:25:17 +08:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Angus Gratton
e32d27e7e8 esp_eth: Add CONFIG_ETH_ENABLED flag to enable/disable ethernet at build time
Always enabled by default, as SPI/Ethernet support is enabled by default.
2019-08-13 17:14:16 +10:00
Angus Gratton
4002c6060a lwip: Enable ethernet for both ESP32 & ESP32-S2Beta (SPI ethernet) 2019-08-13 17:14:16 +10:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
xueyunfei
40e808c63b Try to allocate some LWIP memories in SPIRAM first. If failed, try to allocate in internal RAM then 2019-08-06 10:23:27 +08:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Mahavir Jain
15e0a32786 lwip: remove duplicate (and stale) changelog and version files 2019-07-30 16:49:53 +05:30
David Cermak
ffca1825e6 lwip fuzzer: supplied dummy dns server entry to work with internal packet processing functionwhich is exercised in fuzzer tests, disable CTYPE as recent newlib is not compatible with AFL 2019-07-18 10:34:03 +02:00
xueyunfei
f29ff2c552 Modify IPv6 functionality compatible with lwip2.1.2 2019-07-16 16:22:11 +08:00
xueyunfei
fa02598b5c lwip_2.1.2 for idf_4.0 2019-07-07 01:51:45 +00:00
Kerry Jones
28d79e242f lwip/sntp: Added extern "C"
so that sntp_set_time_sync_notification_cb can be used from c++

Signed-off-by: Konstantin Kondrashov <konstantin@espressif.com>

Merges: https://github.com/espressif/esp-idf/pull/3700
2019-06-28 14:51:28 +08:00
Ivan Grokhotkov
d7d91225d3 Merge branch 'feature/refactor_etherent_driver' into 'master'
add esp_eth component

Closes IDF-324, IDF-637, and IDFGH-1139

See merge request idf/esp-idf!5111
2019-06-28 03:44:44 +08:00
Angus Gratton
8dc8dd5689 Merge branch 'feature/sntp_update_delay' into 'master'
sntp/l_ip: Add SNTP_UPDATE_DELAY option in Kconfig

Closes IDFGH-337

See merge request idf/esp-idf!5271
2019-06-26 15:54:25 +08:00
suda-morris
90c4827bd2 add esp_eth component 2019-06-26 10:19:23 +08:00
Renz Christian Bagaporo
9b350f9ecc cmake: some formatting fixes
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY
variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
9eccd7c082 components: use new component registration api 2019-06-21 19:53:29 +08:00
Angus Gratton
c2a9785fa9 Merge branch 'feature/netif_custom_name' into 'master'
Allow setting netif hostname via lw/ip component config menu item (IDFGH-1342)

See merge request idf/esp-idf!5262
2019-06-21 08:41:59 +08:00
Konstantin Kondrashov
b107b832ca sntp/lwip: Add SNTP_UPDATE_DELAY option in Kconfig
Closes: https://github.com/espressif/esp-idf/issues/2277
Closes: IDFGH-337
2019-06-17 18:04:10 +08:00
grumpy-dude
8a3cf8ca77 Allow configuration of local netif hostname via new LWIP component configuration menu item
Signed-off-by: Sagar Bijwe <sagar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/3627
2019-06-15 16:09:51 +05:30
xueyunfei
d18ed01b81 lwip:fix bugfix/dns_bug 2019-06-14 03:52:31 +00:00
Sachin Parekh
ae675973be optimize: IGMP and MLD6 timers on demand config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-12 05:10:32 +00:00
suda-morris
61ce868396 make bootloader_support support esp32s2beta 2019-06-11 13:07:02 +08:00
suda-morris
91508ca27f add esp32s2beta in soc component 2019-06-11 13:06:32 +08:00
suda-morris
f14a6cf51b Ethernet peripheral will depend on IDF_TARGET
esp32 has EMAC controller, but esp32s2 doesn't
2019-06-11 13:06:32 +08:00
Angus Gratton
19f176eb71 Merge branch 'feature/net_test_suite' into 'master'
execute net test suite for esp32 network stack in ci as weekend tests

Closes IDF-210

See merge request idf/esp-idf!3439
2019-06-06 15:25:03 +08:00
David Cermak
684514b3d6 ci: added standard set of network suite for lwip as a part of weekend test 2019-06-04 08:27:53 +02:00
liu zhifu
d1e7d04f9b esp_wifi/lwip: support TCP window scale
Support enable/disable TCP Window scale feature via menuconfig
2019-06-04 14:09:04 +08:00
Angus Gratton
154fc74f76 Merge branch 'bugfix/nvs_typedef_naming_pr3239' into 'master'
nvs: Append _t to nvs_handle & nvs_open_mode types

Closes IDFGH-891

See merge request idf/esp-idf!4783
2019-05-29 08:14:00 +08:00
David Cermak
d19b20388f lwip tests: adapt fuzzer test mocks to comply with 4.0 refactoring 2019-05-27 16:31:24 +02:00
GOPTIONS\pfrost
897bb55482 nvs: Append _t to nvs_handle & nvs_open_mode types
Merges https://github.com/espressif/esp-idf/pull/3239/
2019-05-22 02:53:28 +00:00
Roland Dobai
d4af5e6fff Rename Kconfig options (components/ethernet) 2019-05-21 09:09:01 +02:00
Roland Dobai
92950db44e Rename Kconfig options (components/lwip) 2019-05-21 09:09:01 +02:00
Renz Christian Bagaporo
ffec9d4947 components: update with build system changes 2019-05-13 19:59:17 +08:00
xiehang
403f588fd0 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [536 1460] 2019-05-09 19:49:59 +08:00
xiehang
67dd55eae8 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [576 1460] 2019-05-09 17:59:25 +08:00
Ivan Grokhotkov
89798b328b Merge branch 'bugfix/select_init_sem' into 'master'
VFS: Allocate socket select semaphore outside ISR

See merge request idf/esp-idf!4591
2019-04-25 19:10:08 +08:00
Michael (XIAO Xufeng)
562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
Konstantin Kondrashov
7e5be1b58c sntp/lwip: Add some modes for time synchronization
Closes: IDF-236
Closes: https://github.com/espressif/esp-idf/pull/1668
2019-04-15 18:11:47 +08:00
Renz Christian Bagaporo
90ee405afd ldgen: update component linker fragment files 2019-04-04 15:57:34 +08:00
morris
79bb5de426 derive esp_wifi from esp32 component 2019-04-01 20:04:52 +08:00
morris
dbdb299bb1 create xtensa component
1. move xtensa specific files out of esp32 component
2. merge xtensa-debug-module component into xtensa
2019-03-27 20:24:28 +08:00
Roland Dobai
2df9fb057d VFS: Allocate socket select semaphore outside ISR 2019-03-22 13:47:32 +00:00
David Cermak
bc60bbbeaf fuzzer tests: update of mdns and lwip host compilation for fuzzer testing
Closes IDF-540
2019-03-22 11:37:26 +01:00
Ivan Grokhotkov
57e1b5dad8 Merge branch 'bugfix/newlib_fcntl_r_signature' into 'master'
vfs: change fcntl argument to int (instead of va_list), add weak fcntl

See merge request idf/esp-idf!4549
2019-03-21 18:30:34 +08:00
Ivan Grokhotkov
1d0bffb20a lwip, wpa_supplicant: use endianness macros from libc if possible 2019-03-19 22:15:32 +08:00
Ivan Grokhotkov
48b1433772 vfs: change fcntl argument to int (instead of va_list), add weak fcntl 2019-03-19 21:44:17 +08:00
zhangyanjiao
fa2998d70b dhcpserver: suppress send_nak debug output
Closes https://github.com/espressif/esp-idf/issues/2924
2019-03-14 14:00:35 +08:00
zhangyanjiao
27cc0d1f91 modify the behavior for dhcpserver and tcpip_adapter:
1. dhcp_server: suppress send_offer debug output
2. tcpip_adapter: zero-initialize system_event_t structures
3. tcpip_adapter: pass client IP address along with SYSTEM_EVENT_AP_STAIPASSIGNED

Closes https://github.com/espressif/esp-idf/issues/2924
Closes https://github.com/espressif/esp-idf/issues/2949
2019-03-11 12:11:05 +08:00
xiehang
b88b9f4e03 fix the bug in auto Ip memory leak
Closes https://jira.espressif.com:8443/browse/WIFI-266
2019-03-06 14:44:06 +08:00
morris
302ca0022f lwip: add linker fragment
Add linker fragment file for lwip component.
2019-02-14 12:42:06 +08:00
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
morris
2e1f98f8f5 modem: support modem facility and PPPoS
1. add support for ESP32 DTE
2. add support for SIM800/BG96 DCE
3. add PPPoS setup procedure
4. add support for SMS
5. add mqtt example after PPP connection established
2019-01-23 18:53:32 +08:00
MartinValik
e3428adf87 Added Cmake support for dhcp_state 2019-01-10 07:51:54 +00:00
Liu Zhi Fu
6933c103e5 lwip: fix mbox thread-safe issue
Fix a mbox free thread-safe issue that can lead to crash in sys_arch_mbox_fetch.
2019-01-07 13:38:11 +08:00
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