David Cermak
5e07ffb444
fix(esp_netif): Mark esp_netif_next deprecated and fix usages
...
* Uses netif_find_if() in IPv6 examples
* Fixes esp_netif_next() usage in L2TAP
2023-11-22 09:59:37 +00:00
David Cermak
80cc7e8928
feat(esp_netif): Added new API to search in netif list
2023-11-22 09:59:37 +00:00
David Cermak
65917bb8c3
fix(esp_netif): Lock netif list with TCPIP context
...
This commit removes the lock from the list manipulation code in esp_netif_objects.c,
because we already have another lock/task context for lwip.
So the list manipulation is unsafe and safety must be assured by the stack layer
(in esp_netif_lwip).
Problems with current locking:
* implementation of locking was wrong -- lazy init style of creating the mutex is not
thread safe (and destroying it if we have no interface makes the problem exhibit very frequently)
* locking only the list won't solve issues when assessing interfaces atomically
* maintaining multiple locks is problematic, as we often switch between
lwip context and user context in internal implementation of esp_netif_lwip
Closes https://github.com/espressif/esp-idf/issues/12261
2023-11-22 09:59:37 +00:00
Abhik Roy
8e71e96603
lwip/esp_napt: Added api to enable/disable napt based on esp_netif.
2023-03-23 20:38:03 +11:00
Abhik Roy
7e81518a57
esp-lwip: Added API to expose default esp-netif.
2023-01-25 12:03:02 +05:30
David Cermak
a71fa82177
esp_netif/lwip: Fix core-locking config
...
* Fix thread safety issues in non-core locking
* Add option to verify thread safety issues in lwip (core-lock assertion)
* Make esp_sntp.h thread safe API
* Fix sntp examples
* Fix openthread libs
Closes https://github.com/espressif/esp-idf/issues/9908
Closes https://github.com/espressif/esp-idf/issues/10502
Closes https://github.com/espressif/esp-idf/issues/10466
2023-01-17 16:15:58 +01:00
David Cermak
5c383d7b73
esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
...
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Ondrej Kosta
53082a22f7
esp_netif: added support for LwIP bridge
...
examples: created bridge example
2022-06-14 15:29:44 +02:00
David Cermak
5e19b9c951
esp-netif: Make dependency on esp-eth optional
...
* esp-netif to optionally depend on esp-eth (only for l2tap config)
* esp_eth.h now includes the original ethernet header and the
ethernet-netif glue layer
* Updated examples and test to explicitely use esp-eth dependency if
needed
2022-06-09 07:55:40 +00:00
xueyunfei
26fa8260b1
Doc:update wifi api docs
...
* Add documents related to espnow config rate
* Optimization set dns server api description
2022-04-24 21:20:54 +08:00
Ondrej Kosta
4051b80b4d
esp_netif: remove dependency of L2 TAP Interface from netif_lwip
...
esp_eth: extended infrastructure to optionally provide more advanced access to MAC/PHY layers
2022-04-08 16:40:29 +02:00
David Cermak
f8907b7884
esp_netif: Support for manual set-default-netif
...
Closes https://github.com/espressif/esp-idf/issues/8330
2022-03-11 14:02:17 +01:00
David Cermak
795b7ed993
esp_netif: Remove tcpip_adapter compatibility layer
2022-03-10 08:19:43 +01:00
Scott Shawcroft
94ce8444fc
esp_netif: Fix -Wundef issues with esp_netif.h
...
Partially addresses https://github.com/espressif/esp-idf/pull/5179
2022-01-14 16:19:31 +01:00
Ondrej Kosta
3a7a67f174
netif: added ESP-NETIF L2 TAP interface
2021-11-23 11:17:22 +01:00
Jiacheng Guo
52a68cb7fe
openthread: integrate OpenThread network interface with esp_netif
2021-06-02 17:03:54 +08:00
yuanjm
da58235a0e
components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components
2021-02-23 18:26:03 +08:00
Jiri Schiebel
d1356bca68
esp-netif: Added methods for conversion IP4/IP6 addresses from their string interpretation
...
Closes https://github.com/espressif/esp-idf/issues/5545
2021-02-02 16:07:32 +01: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
liu zhifu
fa9a5c0be5
esp_wifi: optimize WiFi TX performance
2020-08-13 12:26:21 +08:00
David Cermak
8a45f074fc
esp-netif: Added API to get the underlying interface name
...
The interface name can be used in socket API, i.e. setsockopt(). The API esp_netif_get_netif_impl_name() shoudl be used to populate standard
interface structure struct ifreq.
2020-05-18 09:26:24 +02:00
David Cermak
06711c7c36
examples: common connect component to use both interfaces at once
2020-05-18 09:26:24 +02: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
David Cermak
d8da662dec
ESP-NETIF: Add unit test for additional API
2020-02-10 19:40:23 +01:00
xiehang
c0148ef1e8
lwip: Enable IPv6 stateless address autoconfiguration
2020-01-14 07:15:26 +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
morris
c3ee156df0
ethernet: move netif glue && add ref counter
...
1. move netif glue into single file
2. add reference counter for Ethernet driver
2019-11-27 10:36:32 +08:00
David Cermak
c5a6bc9985
esp_netif: added missing C++ guards
...
Closes https://github.com/espressif/esp-idf/issues/4389
2019-11-22 10:31:06 +01:00
David Cermak
7ef385963c
esp_netif: minor update of coding style based on clang-tidy
...
guidelines and fix some copyright notices
2019-11-13 12:36:25 +01:00
David Cermak
f839a1328c
esp_netif: added locking for netif list management, unit tests to use unique if_keys, updated comments
2019-11-13 12:36:25 +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
549ee87912
esp_netif: moving default netifs to wifi, moved sta_list to a separate header -- note will fail unit tests
2019-11-13 12:36:25 +01:00
David Cermak
d471266b46
esp_netif: documentation udpated and grouped the esp-netif API
...
structure. Updated rst documenentation and diagram of esp-netif
cooperation with other components.
2019-11-13 12:36:25 +01:00
David Cermak
3a19bf055d
esp_netif and examples: using wifi driver handle, update examples and tests to pass the CI
2019-11-13 12:36:25 +01:00
David Cermak
ba13275c6b
esp_netif: update default DHCP IP addresses to be in line with old interface, added loopback implementation, explicit esp-netif init, sanity checks for parameters added
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