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
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
David Cermak
81cd406683
lwip: support mdns queries
2019-10-15 07:02:19 +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
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
xueyunfei
fa02598b5c
lwip_2.1.2 for idf_4.0
2019-07-07 01:51:45 +00: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
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
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
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
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
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
morris
79bb5de426
derive esp_wifi from esp32 component
2019-04-01 20:04:52 +08:00
Roland Dobai
2df9fb057d
VFS: Allocate socket select semaphore outside ISR
2019-03-22 13:47:32 +00: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
morris
302ca0022f
lwip: add linker fragment
...
Add linker fragment file for lwip component.
2019-02-14 12:42:06 +08: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
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
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
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
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
zhangyanjiao
237cc88b9f
lwip: add code for sending gratuitous ARP periodically
2018-09-11 14:36:42 +08:00
Zhang Yan Jiao
3578fe39e0
Feature/sync lwip as submodule
2018-09-06 19:43:08 +08:00
Ivan Grokhotkov
cb649e452f
remove executable permission from source files
2018-05-29 20:07:45 +08:00
Roland Dobai
18e83bcd53
Allow VFS file descriptors in select()
2018-05-18 08:06:33 +02:00
Roland Dobai
5129bca67c
VFS: Use smaller numbers as file descriptors
2018-05-07 09:01:56 +02:00
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
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
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
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
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
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
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
zhangyanjiao
547b7b0246
match sys tick with lwip_send_timeout
2017-09-04 14:52:16 +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
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
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
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
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
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
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
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
Liu Han
315b3f979f
components/tcpip_adapter: Allow to set different hostname for each interface
2017-01-10 12:42:14 +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
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
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
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
shangke
e0040af7e5
ethernet: add first version of ethernet driver
2016-12-01 19:17:48 +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
Liu Zhi Fu
586c17f831
lwip: remove useless printf info
2016-11-21 16:08:39 +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
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
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
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
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
Angus Gratton
cb6bd109f2
Merge wifi commit '87977b92f3e12cfca74cf2e4dea87dc8d60b26fc' into feature/wifi-stage-two
2016-09-05 10:42:17 +10:00
Angus Gratton
314dbc0b61
Minor comment cleanup
...
Remove old commented code, etc.
2016-09-02 11:33:53 +10: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
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
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
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
Ivan Grokhotkov
bd6ea4393c
Initial public version
2016-08-17 23:08:22 +08:00