lwip: Support IPv6 only mode

This commit is contained in:
David Cermak
2022-10-03 17:28:01 +02:00
parent 2c8c8bfd2d
commit 5f6cb31105
40 changed files with 336 additions and 80 deletions

View File

@@ -9,6 +9,7 @@
#include <stdint.h>
#include <machine/endian.h>
#include "sdkconfig.h"
#ifdef __cplusplus
extern "C" {
@@ -81,6 +82,19 @@ extern "C" {
#define ESP_IP4ADDR_INIT(a, b, c, d) { .type = ESP_IPADDR_TYPE_V4, .u_addr = { .ip4 = { .addr = ESP_IP4TOADDR(a, b, c, d) }}};
#define ESP_IP6ADDR_INIT(a, b, c, d) { .type = ESP_IPADDR_TYPE_V6, .u_addr = { .ip6 = { .addr = { a, b, c, d }, .zone = 0 }}};
#ifndef IP4ADDR_STRLEN_MAX
#define IP4ADDR_STRLEN_MAX 16
#endif
#if defined(CONFIG_LWIP_IPV4) && defined(CONFIG_LWIP_IPV6)
#define ESP_IP_IS_ANY(addr) ((addr.type == ESP_IPADDR_TYPE_V4 && ip4_addr_isany_val(addr.u_addr.ip4)) || \
(addr.type == ESP_IPADDR_TYPE_V6 && ip6_addr_isany_val(addr.u_addr.ip6)))
#elif defined(CONFIG_LWIP_IPV4)
#define ESP_IP_IS_ANY(addr) (ip4_addr_isany_val(addr.u_addr.ip4))
#elif defined(CONFIG_LWIP_IPV6)
#define ESP_IP_IS_ANY(addr) (ip6_addr_isany_val(addr.u_addr.ip6))
#endif
/**
* @brief IPv6 address
*