You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
I have searched the issue tracker for a similar issue and not found a similar issue.
General issue report
In mesh_netif.c, the logic within several functions distinguishes between different configurations of netif_sta through comparison of its if_desc property. This property can only be set, however, through the esp_netif_config_t structure at the time of calling esp_netif_new(), and is immutable afterwards.
If one is to create a valid driver control block for the Mesh netif, though, one does not have access to if_desc through public APIs until after esp_netif_new() has already been called within the ESP-WIFI-MESH library routines.
Either the logic within mesh_netif.c must be updated to not distinguish netif_sta via if_desc, or the corresponding Mesh library routines must be publicly-accessible, as they are today with WiFi.
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
examples/mesh/ip_internal_network: Use of 'if_desc' to distinguish between esp_netif configurations
examples/mesh/ip_internal_network: Use of 'if_desc' to distinguish between esp_netif configurations (IDFGH-13312)
Jul 23, 2024
The use of if_desc in this example is valid only if a correct device control block can be created at the same time. Given that the layout of the Mesh device control block is opaque, that is not possible. Thus, there is insufficient visibility into the prerequisite data structures to use if_desc for this purpose.
@vjgriswold
The mesh_netif.c is only used in the ip_internal_network, the underlying logic is still based on the WiFi netif, the example only modifies some driver functions.
Answers checklist.
General issue report
In mesh_netif.c, the logic within several functions distinguishes between different configurations of netif_sta through comparison of its if_desc property. This property can only be set, however, through the esp_netif_config_t structure at the time of calling esp_netif_new(), and is immutable afterwards.
If one is to create a valid driver control block for the Mesh netif, though, one does not have access to if_desc through public APIs until after esp_netif_new() has already been called within the ESP-WIFI-MESH library routines.
Either the logic within mesh_netif.c must be updated to not distinguish netif_sta via if_desc, or the corresponding Mesh library routines must be publicly-accessible, as they are today with WiFi.
The text was updated successfully, but these errors were encountered: