2021-04-07 03:04:51 -04:00
|
|
|
/*
|
2020-07-28 21:20:30 -04:00
|
|
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
2021-04-07 03:04:51 -04:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
2019-06-28 10:47:34 -04:00
|
|
|
|
|
|
|
#ifndef _ESP_NETIF_DEFAULTS_H
|
|
|
|
#define _ESP_NETIF_DEFAULTS_H
|
|
|
|
|
2020-02-06 06:28:56 -05:00
|
|
|
#include "esp_compiler.h"
|
2019-11-22 03:40:54 -05:00
|
|
|
|
2020-01-30 06:50:52 -05:00
|
|
|
#ifdef __cplusplus
|
2020-02-06 06:28:56 -05:00
|
|
|
extern "C" {
|
2020-01-30 06:50:52 -05:00
|
|
|
#endif
|
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
//
|
|
|
|
// Macros to assemble master configs with partial configs from netif, stack and driver
|
|
|
|
//
|
|
|
|
|
2020-01-30 06:50:52 -05:00
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_WIFI_STA() \
|
|
|
|
{ \
|
|
|
|
.flags = (esp_netif_flags_t)(ESP_NETIF_DHCP_CLIENT | ESP_NETIF_FLAG_GARP | ESP_NETIF_FLAG_EVENT_IP_MODIFIED), \
|
2020-02-06 06:28:56 -05:00
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
2020-01-30 06:50:52 -05:00
|
|
|
.get_ip_event = IP_EVENT_STA_GOT_IP, \
|
|
|
|
.lost_ip_event = IP_EVENT_STA_LOST_IP, \
|
|
|
|
.if_key = "WIFI_STA_DEF", \
|
|
|
|
.if_desc = "sta", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 100, \
|
|
|
|
.bridge_info = NULL \
|
2020-01-30 06:50:52 -05:00
|
|
|
} \
|
|
|
|
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2020-01-30 06:50:52 -05:00
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_WIFI_AP() \
|
|
|
|
{ \
|
|
|
|
.flags = (esp_netif_flags_t)(ESP_NETIF_DHCP_SERVER | ESP_NETIF_FLAG_AUTOUP), \
|
2020-02-06 06:28:56 -05:00
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
2020-01-30 06:50:52 -05:00
|
|
|
.ip_info = &_g_esp_netif_soft_ap_ip, \
|
|
|
|
.get_ip_event = 0, \
|
|
|
|
.lost_ip_event = 0, \
|
|
|
|
.if_key = "WIFI_AP_DEF", \
|
|
|
|
.if_desc = "ap", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 10, \
|
|
|
|
.bridge_info = NULL \
|
2020-01-30 06:50:52 -05:00
|
|
|
};
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2020-01-30 06:50:52 -05:00
|
|
|
|
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_ETH() \
|
|
|
|
{ \
|
|
|
|
.flags = (esp_netif_flags_t)(ESP_NETIF_DHCP_CLIENT | ESP_NETIF_FLAG_GARP | ESP_NETIF_FLAG_EVENT_IP_MODIFIED), \
|
2020-02-06 06:28:56 -05:00
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
2020-01-30 06:50:52 -05:00
|
|
|
.get_ip_event = IP_EVENT_ETH_GOT_IP, \
|
2021-05-06 23:36:13 -04:00
|
|
|
.lost_ip_event = IP_EVENT_ETH_LOST_IP, \
|
2020-01-30 06:50:52 -05:00
|
|
|
.if_key = "ETH_DEF", \
|
|
|
|
.if_desc = "eth", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 50, \
|
|
|
|
.bridge_info = NULL \
|
2020-01-30 06:50:52 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_PPP() \
|
|
|
|
{ \
|
|
|
|
.flags = ESP_NETIF_FLAG_IS_PPP, \
|
2020-02-06 06:28:56 -05:00
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
2020-01-30 06:50:52 -05:00
|
|
|
.get_ip_event = IP_EVENT_PPP_GOT_IP, \
|
|
|
|
.lost_ip_event = IP_EVENT_PPP_LOST_IP, \
|
|
|
|
.if_key = "PPP_DEF", \
|
|
|
|
.if_desc = "ppp", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 20, \
|
|
|
|
.bridge_info = NULL \
|
2020-05-21 01:55:56 -04:00
|
|
|
};
|
|
|
|
|
2021-05-18 23:52:51 -04:00
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_OPENTHREAD() \
|
|
|
|
{ \
|
|
|
|
.flags = 0, \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
|
|
|
.get_ip_event = 0, \
|
|
|
|
.lost_ip_event = 0, \
|
|
|
|
.if_key = "OT_DEF", \
|
|
|
|
.if_desc = "openthread", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 15, \
|
|
|
|
.bridge_info = NULL \
|
2021-05-18 23:52:51 -04:00
|
|
|
};
|
|
|
|
|
2020-05-21 01:55:56 -04:00
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_SLIP() \
|
|
|
|
{ \
|
|
|
|
.flags = ESP_NETIF_FLAG_IS_SLIP, \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
|
|
|
.get_ip_event = 0, \
|
2020-06-12 10:43:34 -04:00
|
|
|
.lost_ip_event = 0, \
|
|
|
|
.if_key = "SLP_DEF", \
|
|
|
|
.if_desc = "slip", \
|
2022-05-06 10:09:24 -04:00
|
|
|
.route_prio = 16, \
|
|
|
|
.bridge_info = NULL \
|
2020-01-30 06:50:52 -05:00
|
|
|
};
|
|
|
|
|
2022-05-06 10:09:24 -04:00
|
|
|
#define ESP_NETIF_INHERENT_DEFAULT_BR() \
|
|
|
|
{ \
|
|
|
|
.flags = (esp_netif_flags_t)(ESP_NETIF_DHCP_CLIENT | ESP_NETIF_FLAG_GARP | ESP_NETIF_FLAG_EVENT_IP_MODIFIED | ESP_NETIF_FLAG_IS_BRIDGE), \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(mac) \
|
|
|
|
ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(ip_info) \
|
|
|
|
.get_ip_event = IP_EVENT_ETH_GOT_IP, \
|
|
|
|
.lost_ip_event = IP_EVENT_ETH_LOST_IP, \
|
|
|
|
.if_key = "BR", \
|
|
|
|
.if_desc = "br", \
|
|
|
|
.route_prio = 70, \
|
|
|
|
.bridge_info = NULL \
|
|
|
|
};
|
2021-05-18 23:52:51 -04:00
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of ethernet interface
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_ETH() \
|
|
|
|
{ \
|
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_ETH, \
|
2019-12-18 02:26:44 -05:00
|
|
|
.driver = NULL, \
|
2019-06-28 10:47:34 -04:00
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_ETH, \
|
|
|
|
}
|
|
|
|
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2019-06-28 10:47:34 -04:00
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of WIFI AP
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_WIFI_AP() \
|
2020-01-30 06:50:52 -05:00
|
|
|
{ \
|
2019-06-28 10:47:34 -04:00
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_WIFI_AP, \
|
2019-12-18 02:26:44 -05:00
|
|
|
.driver = NULL, \
|
2019-06-28 10:47:34 -04:00
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_WIFI_AP, \
|
|
|
|
}
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2019-06-28 10:47:34 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of WIFI STA
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_WIFI_STA() \
|
|
|
|
{ \
|
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_WIFI_STA, \
|
2019-12-18 02:26:44 -05:00
|
|
|
.driver = NULL, \
|
2019-06-28 10:47:34 -04:00
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_WIFI_STA, \
|
|
|
|
}
|
2019-11-21 07:23:58 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of PPP client
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_PPP() \
|
|
|
|
{ \
|
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_PPP, \
|
2019-12-18 02:26:44 -05:00
|
|
|
.driver = NULL, \
|
2019-11-21 07:23:58 -05:00
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_PPP, \
|
|
|
|
}
|
2020-05-21 01:55:56 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of SLIP client
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_SLIP() \
|
2020-06-12 10:43:34 -04:00
|
|
|
{ \
|
2020-05-21 01:55:56 -04:00
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_SLIP, \
|
2020-06-12 10:43:34 -04:00
|
|
|
.driver = NULL, \
|
2020-05-21 01:55:56 -04:00
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_SLIP, \
|
|
|
|
}
|
2020-11-10 02:40:01 -05:00
|
|
|
|
2020-05-21 01:55:56 -04:00
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of WIFI STA
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_WIFI_STA &_g_esp_netif_inherent_sta_config
|
|
|
|
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2019-06-28 10:47:34 -04:00
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of WIFI AP
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_WIFI_AP &_g_esp_netif_inherent_ap_config
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2019-06-28 10:47:34 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of ethernet interface
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_ETH &_g_esp_netif_inherent_eth_config
|
|
|
|
|
2019-11-21 07:23:58 -05:00
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of ppp interface
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_PPP &_g_esp_netif_inherent_ppp_config
|
|
|
|
|
2020-05-21 01:55:56 -04:00
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of slip interface
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_SLIP &_g_esp_netif_inherent_slip_config
|
|
|
|
|
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_ETH _g_esp_netif_netstack_default_eth
|
2022-05-06 10:09:24 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_BR _g_esp_netif_netstack_default_br
|
2019-06-28 10:47:34 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_WIFI_STA _g_esp_netif_netstack_default_wifi_sta
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2019-06-28 10:47:34 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_WIFI_AP _g_esp_netif_netstack_default_wifi_ap
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2019-11-21 07:23:58 -05:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_PPP _g_esp_netif_netstack_default_ppp
|
2020-06-12 10:43:34 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_SLIP _g_esp_netif_netstack_default_slip
|
2021-05-18 23:52:51 -04:00
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_OPENTHREAD _g_esp_netif_netstack_default_openthread
|
2019-11-21 07:23:58 -05:00
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
//
|
|
|
|
// Include default network stacks configs
|
|
|
|
// - Network stack configurations are provided in a specific network stack
|
|
|
|
// implementation that is invisible to user API
|
|
|
|
// - Here referenced only as opaque pointers
|
|
|
|
//
|
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_eth;
|
2022-05-06 10:09:24 -04:00
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_br;
|
2019-06-28 10:47:34 -04:00
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_wifi_sta;
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2019-06-28 10:47:34 -04:00
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_wifi_ap;
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2019-11-21 07:23:58 -05:00
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_ppp;
|
2020-05-21 01:55:56 -04:00
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_slip;
|
2019-06-28 10:47:34 -04:00
|
|
|
|
|
|
|
//
|
|
|
|
// Include default common configs inherent to esp-netif
|
|
|
|
// - These inherent configs are defined in esp_netif_defaults.c and describe
|
2020-02-06 06:28:56 -05:00
|
|
|
// common behavioural patterns for common interfaces such as STA, AP, ETH, PPP
|
2019-06-28 10:47:34 -04:00
|
|
|
//
|
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_sta_config;
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2019-06-28 10:47:34 -04:00
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_ap_config;
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2019-06-28 10:47:34 -04:00
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_eth_config;
|
2019-11-21 07:23:58 -05:00
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_ppp_config;
|
2020-05-21 01:55:56 -04:00
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_slip_config;
|
2019-06-28 10:47:34 -04:00
|
|
|
|
2021-04-07 03:04:51 -04:00
|
|
|
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
2020-01-30 06:50:52 -05:00
|
|
|
extern const esp_netif_ip_info_t _g_esp_netif_soft_ap_ip;
|
2021-04-07 03:04:51 -04:00
|
|
|
#endif
|
2020-01-30 06:50:52 -05:00
|
|
|
|
2020-07-28 21:20:30 -04:00
|
|
|
#ifdef CONFIG_OPENTHREAD_ENABLED
|
2021-05-18 23:52:51 -04:00
|
|
|
/**
|
|
|
|
* @brief Default configuration reference of SLIP client
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_DEFAULT_OPENTHREAD() \
|
|
|
|
{ \
|
|
|
|
.base = ESP_NETIF_BASE_DEFAULT_OPENTHREAD, \
|
|
|
|
.driver = NULL, \
|
|
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_OPENTHREAD, \
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Default base config (esp-netif inherent) of openthread interface
|
|
|
|
*/
|
|
|
|
#define ESP_NETIF_BASE_DEFAULT_OPENTHREAD &_g_esp_netif_inherent_openthread_config
|
|
|
|
|
|
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_openthread;
|
|
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_openthread_config;
|
|
|
|
|
|
|
|
#endif // CONFIG_OPENTHREAD_ENABLED
|
|
|
|
|
2019-11-22 03:40:54 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2019-06-28 10:47:34 -04:00
|
|
|
#endif //_ESP_NETIF_DEFAULTS_H
|