Complete Phase 12 dual-stack networking
Add IPv6-aware Wi-Fi state, HTTPS/SSH listeners, mDNS service reconciliation, and browser Wi-Fi administration. Include a guarded build-local fix for mDNS 1.12.0 membership handling, focused regression suites, and Phase 12 acceptance documentation.
This commit is contained in:
+19
-1
@@ -42,6 +42,14 @@ typedef struct {
|
||||
uint64_t queue_drops;
|
||||
} wifi_manager_counters_t;
|
||||
|
||||
#define WIFI_MANAGER_IPV6_MAX_ADDRESSES 3U
|
||||
|
||||
/* Network-order words, compatible with IDF's IPV62STR/ESP_IP6_ADDR_BLOCK macros.
|
||||
* No device-local zone: a remote client must select its own interface. */
|
||||
typedef struct {
|
||||
uint32_t addr[4];
|
||||
} wifi_manager_ipv6_address_t;
|
||||
|
||||
typedef struct {
|
||||
bool initialized;
|
||||
bool started;
|
||||
@@ -54,6 +62,13 @@ typedef struct {
|
||||
uint32_t ip;
|
||||
uint32_t netmask;
|
||||
uint32_t gateway;
|
||||
/* Preferred IPv6 addresses only (DAD complete, not deprecated/expired).
|
||||
* ONLINE means IPv4 or either IPv6 flag, not Internet reachability.
|
||||
* routable includes ULA/GUA; it does not assert a default route exists. */
|
||||
bool ipv6_linklocal;
|
||||
bool ipv6_routable;
|
||||
uint8_t ipv6_count;
|
||||
wifi_manager_ipv6_address_t ipv6_addresses[WIFI_MANAGER_IPV6_MAX_ADDRESSES];
|
||||
uint8_t sta_channel;
|
||||
int8_t sta_rssi;
|
||||
wifi_auth_mode_t sta_auth;
|
||||
@@ -141,7 +156,10 @@ esp_err_t wifi_manager_stop(void);
|
||||
esp_err_t wifi_manager_reconnect(void);
|
||||
/* Advance to the next enabled station profile in priority order, wrapping safely. */
|
||||
esp_err_t wifi_manager_next_profile(void);
|
||||
/* Reannounce the configured hostname when the manager currently has a STA IP. */
|
||||
/* Refresh DHCPv4 option 12 from the configured sak-<suffix> hostname, and
|
||||
* reannounce mDNS when ONLINE (either IP family). No lease restart: the new
|
||||
* name is used in subsequent DHCP exchanges, including renew/rebind; existing
|
||||
* router/DNS records may remain until server policy expires or replaces them. */
|
||||
esp_err_t wifi_manager_mdns_reannounce(void);
|
||||
|
||||
/* Snapshot data never contains station or AP passwords. */
|
||||
|
||||
Reference in New Issue
Block a user