mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-04 22:36:32 +02:00
IDF release/v4.0 4c81978a3
This commit is contained in:
@ -1514,6 +1514,202 @@
|
||||
#define CONFIG_MONITOR_BAUD_OTHER_VAL CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ACL_BUF_COUNT
|
||||
#define CONFIG_NIMBLE_ACL_BUF_COUNT CONFIG_BT_NIMBLE_ACL_BUF_COUNT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ACL_BUF_SIZE
|
||||
#define CONFIG_NIMBLE_ACL_BUF_SIZE CONFIG_BT_NIMBLE_ACL_BUF_SIZE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU
|
||||
#define CONFIG_NIMBLE_ATT_PREFERRED_MTU CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS
|
||||
#define CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_DEBUG
|
||||
#define CONFIG_NIMBLE_DEBUG CONFIG_BT_NIMBLE_DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ENABLED
|
||||
#define CONFIG_NIMBLE_ENABLED CONFIG_BT_NIMBLE_ENABLED
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN
|
||||
#define CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE
|
||||
#define CONFIG_NIMBLE_HCI_EVT_BUF_SIZE CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
|
||||
#define CONFIG_NIMBLE_HCI_EVT_HI_BUF_COUNT CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
|
||||
#define CONFIG_NIMBLE_HCI_EVT_LO_BUF_COUNT CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HS_FLOW_CTRL
|
||||
#define CONFIG_NIMBLE_HS_FLOW_CTRL CONFIG_BT_NIMBLE_HS_FLOW_CTRL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL
|
||||
#define CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH
|
||||
#define CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
|
||||
#define CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM
|
||||
#define CONFIG_NIMBLE_L2CAP_COC_MAX_NUM CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MAX_BONDS
|
||||
#define CONFIG_NIMBLE_MAX_BONDS CONFIG_BT_NIMBLE_MAX_BONDS
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MAX_CCCDS
|
||||
#define CONFIG_NIMBLE_MAX_CCCDS CONFIG_BT_NIMBLE_MAX_CCCDS
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MAX_CONNECTIONS
|
||||
#define CONFIG_NIMBLE_MAX_CONNECTIONS CONFIG_BT_NIMBLE_MAX_CONNECTIONS
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE
|
||||
#define CONFIG_NIMBLE_MEM_ALLOC_MODE CONFIG_BT_NIMBLE_MEM_ALLOC_MODE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT
|
||||
#define CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
|
||||
#define CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
||||
#define CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH
|
||||
#define CONFIG_NIMBLE_MESH CONFIG_BT_NIMBLE_MESH
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_DEVICE_NAME
|
||||
#define CONFIG_NIMBLE_MESH_DEVICE_NAME CONFIG_BT_NIMBLE_MESH_DEVICE_NAME
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_FRIEND
|
||||
#define CONFIG_NIMBLE_MESH_FRIEND CONFIG_BT_NIMBLE_MESH_FRIEND
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_GATT_PROXY
|
||||
#define CONFIG_NIMBLE_MESH_GATT_PROXY CONFIG_BT_NIMBLE_MESH_GATT_PROXY
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_LOW_POWER
|
||||
#define CONFIG_NIMBLE_MESH_LOW_POWER CONFIG_BT_NIMBLE_MESH_LOW_POWER
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_PB_ADV
|
||||
#define CONFIG_NIMBLE_MESH_PB_ADV CONFIG_BT_NIMBLE_MESH_PB_ADV
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_PB_GATT
|
||||
#define CONFIG_NIMBLE_MESH_PB_GATT CONFIG_BT_NIMBLE_MESH_PB_GATT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_PROV
|
||||
#define CONFIG_NIMBLE_MESH_PROV CONFIG_BT_NIMBLE_MESH_PROV
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_PROXY
|
||||
#define CONFIG_NIMBLE_MESH_PROXY CONFIG_BT_NIMBLE_MESH_PROXY
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MESH_RELAY
|
||||
#define CONFIG_NIMBLE_MESH_RELAY CONFIG_BT_NIMBLE_MESH_RELAY
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT
|
||||
#define CONFIG_NIMBLE_MSYS1_BLOCK_COUNT CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_NVS_PERSIST
|
||||
#define CONFIG_NIMBLE_NVS_PERSIST CONFIG_BT_NIMBLE_NVS_PERSIST
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_PINNED_TO_CORE
|
||||
#define CONFIG_NIMBLE_PINNED_TO_CORE CONFIG_BT_NIMBLE_PINNED_TO_CORE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_PINNED_TO_CORE_0
|
||||
#define CONFIG_NIMBLE_PINNED_TO_CORE_0 CONFIG_BT_NIMBLE_PINNED_TO_CORE_0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_PINNED_TO_CORE_1
|
||||
#define CONFIG_NIMBLE_PINNED_TO_CORE_1 CONFIG_BT_NIMBLE_PINNED_TO_CORE_1
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_PINNED_TO_CORE_CHOICE
|
||||
#define CONFIG_NIMBLE_PINNED_TO_CORE_CHOICE CONFIG_BT_NIMBLE_PINNED_TO_CORE_CHOICE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ROLE_BROADCASTER
|
||||
#define CONFIG_NIMBLE_ROLE_BROADCASTER CONFIG_BT_NIMBLE_ROLE_BROADCASTER
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ROLE_CENTRAL
|
||||
#define CONFIG_NIMBLE_ROLE_CENTRAL CONFIG_BT_NIMBLE_ROLE_CENTRAL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ROLE_OBSERVER
|
||||
#define CONFIG_NIMBLE_ROLE_OBSERVER CONFIG_BT_NIMBLE_ROLE_OBSERVER
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL
|
||||
#define CONFIG_NIMBLE_ROLE_PERIPHERAL CONFIG_BT_NIMBLE_ROLE_PERIPHERAL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_RPA_TIMEOUT
|
||||
#define CONFIG_NIMBLE_RPA_TIMEOUT CONFIG_BT_NIMBLE_RPA_TIMEOUT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_SM_LEGACY
|
||||
#define CONFIG_NIMBLE_SM_LEGACY CONFIG_BT_NIMBLE_SM_LEGACY
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_SM_SC
|
||||
#define CONFIG_NIMBLE_SM_SC CONFIG_BT_NIMBLE_SM_SC
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS
|
||||
#define CONFIG_NIMBLE_SM_SC_DEBUG_KEYS CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE
|
||||
#define CONFIG_NIMBLE_SVC_GAP_APPEARANCE CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
|
||||
#define CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_NIMBLE_TASK_STACK_SIZE
|
||||
#define CONFIG_NIMBLE_TASK_STACK_SIZE CONFIG_BT_NIMBLE_TASK_STACK_SIZE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESP32_NO_BLOBS
|
||||
#define CONFIG_NO_BLOBS CONFIG_ESP32_NO_BLOBS
|
||||
#endif
|
||||
@ -1990,5 +2186,5 @@
|
||||
#define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP
|
||||
#endif
|
||||
|
||||
#define CONFIG_ARDUINO_IDF_COMMIT "b0f053d82"
|
||||
#define CONFIG_ARDUINO_IDF_COMMIT "4c81978a3"
|
||||
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.0"
|
||||
|
@ -57,6 +57,7 @@ typedef enum {
|
||||
WIFI_AUTH_WPA_WPA2_PSK, /**< authenticate mode : WPA_WPA2_PSK */
|
||||
WIFI_AUTH_WPA2_ENTERPRISE, /**< authenticate mode : WPA2_ENTERPRISE */
|
||||
WIFI_AUTH_WPA3_PSK, /**< authenticate mode : WPA3_PSK */
|
||||
WIFI_AUTH_WPA2_WPA3_PSK, /**< authenticate mode : WPA2_WPA3_PSK */
|
||||
WIFI_AUTH_MAX
|
||||
} wifi_auth_mode_t;
|
||||
|
||||
|
96
tools/sdk/include/lwip/lwip/ip4_napt.h
Normal file
96
tools/sdk/include/lwip/lwip/ip4_napt.h
Normal file
@ -0,0 +1,96 @@
|
||||
/**
|
||||
* @file ip4_napt.h
|
||||
* This is a private interface of ip4_napt used from ip4.c
|
||||
*
|
||||
* @see ip4_napt.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
* OF SUCH DAMAGE.
|
||||
*
|
||||
* This file is part of the lwIP TCP/IP stack.
|
||||
*
|
||||
* original reassembly code by Adam Dunkels <adam@sics.se>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LWIP_HDR_IP4_NAPT_H
|
||||
#define LWIP_HDR_IP4_NAPT_H
|
||||
|
||||
#include "lwip/opt.h"
|
||||
|
||||
#if ESP_LWIP
|
||||
#if IP_FORWARD
|
||||
#if IP_NAPT
|
||||
|
||||
#include "lwip/def.h"
|
||||
#include "lwip/pbuf.h"
|
||||
#include "lwip/ip4_addr.h"
|
||||
#include "lwip/err.h"
|
||||
#include "lwip/netif.h"
|
||||
#include "lwip/prot/ip4.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "lwip/err.h"
|
||||
#include "lwip/ip4.h"
|
||||
|
||||
/**
|
||||
* NAPT for a forwarded packet. It checks weather we need NAPT and modify
|
||||
* the packet source address and port if needed.
|
||||
*
|
||||
* @param p the packet to forward (p->payload points to IP header)
|
||||
* @param iphdr the IP header of the input packet
|
||||
* @param inp the netif on which this packet was received
|
||||
* @param outp the netif on which this packet will be sent
|
||||
* @return ERR_OK if packet should be sent, or ERR_RTE if it should be dropped
|
||||
*/
|
||||
err_t
|
||||
ip_napt_forward(struct pbuf *p, struct ip_hdr *iphdr, struct netif *inp, struct netif *outp);
|
||||
|
||||
/**
|
||||
* NAPT for an input packet. It checks weather the destination is on NAPT
|
||||
* table and modify the packet destination address and port if needed.
|
||||
*
|
||||
* @param p the packet to forward (p->payload points to IP header)
|
||||
* @param iphdr the IP header of the input packet
|
||||
* @param inp the netif on which this packet was received
|
||||
*/
|
||||
void
|
||||
ip_napt_recv(struct pbuf *p, struct ip_hdr *iphdr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* IP_NAPT */
|
||||
#endif /* IP_FORWARD */
|
||||
#endif /* ESP_LWIP */
|
||||
|
||||
#endif /* LWIP_HDR_IP4_NAPT_H */
|
||||
|
122
tools/sdk/include/lwip/lwip/lwip_napt.h
Normal file
122
tools/sdk/include/lwip/lwip/lwip_napt.h
Normal file
@ -0,0 +1,122 @@
|
||||
/**
|
||||
* @file lwip_napt.h
|
||||
* public API of ip4_napt
|
||||
*
|
||||
* @see ip4_napt.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
* OF SUCH DAMAGE.
|
||||
*
|
||||
* This file is part of the lwIP TCP/IP stack.
|
||||
*
|
||||
* original reassembly code by Adam Dunkels <adam@sics.se>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __LWIP_NAPT_H__
|
||||
#define __LWIP_NAPT_H__
|
||||
|
||||
#include "lwip/opt.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if ESP_LWIP
|
||||
#if IP_FORWARD
|
||||
#if IP_NAPT
|
||||
|
||||
/* Default size of the tables used for NAPT */
|
||||
#ifndef IP_NAPT_MAX
|
||||
#define IP_NAPT_MAX 512
|
||||
#endif
|
||||
#ifndef IP_PORTMAP_MAX
|
||||
#define IP_PORTMAP_MAX 32
|
||||
#endif
|
||||
|
||||
/* Timeouts in sec for the various protocol types */
|
||||
#define IP_NAPT_TIMEOUT_MS_TCP (30*60*1000)
|
||||
#define IP_NAPT_TIMEOUT_MS_TCP_DISCON (20*1000)
|
||||
#define IP_NAPT_TIMEOUT_MS_UDP (2*1000)
|
||||
#define IP_NAPT_TIMEOUT_MS_ICMP (2*1000)
|
||||
|
||||
#define IP_NAPT_PORT_RANGE_START 49152
|
||||
#define IP_NAPT_PORT_RANGE_END 61439
|
||||
|
||||
/**
|
||||
* Enable/Disable NAPT for a specified interface.
|
||||
*
|
||||
* @param addr ip address of the interface
|
||||
* @param enable non-zero to enable NAPT, or 0 to disable.
|
||||
*/
|
||||
void
|
||||
ip_napt_enable(u32_t addr, int enable);
|
||||
|
||||
|
||||
/**
|
||||
* Enable/Disable NAPT for a specified interface.
|
||||
*
|
||||
* @param netif number of the interface
|
||||
* @param enable non-zero to enable NAPT, or 0 to disable.
|
||||
*/
|
||||
void
|
||||
ip_napt_enable_no(u8_t number, int enable);
|
||||
|
||||
|
||||
/**
|
||||
* Register port mapping on the external interface to internal interface.
|
||||
* When the same port mapping is registered again, the old mapping is overwritten.
|
||||
* In this implementation, only 1 unique port mapping can be defined for each target address/port.
|
||||
*
|
||||
* @param proto target protocol
|
||||
* @param maddr ip address of the external interface
|
||||
* @param mport mapped port on the external interface, in host byte order.
|
||||
* @param daddr destination ip address
|
||||
* @param dport destination port, in host byte order.
|
||||
*/
|
||||
u8_t
|
||||
ip_portmap_add(u8_t proto, u32_t maddr, u16_t mport, u32_t daddr, u16_t dport);
|
||||
|
||||
|
||||
/**
|
||||
* Unregister port mapping on the external interface to internal interface.
|
||||
*
|
||||
* @param proto target protocol
|
||||
* @param maddr ip address of the external interface
|
||||
*/
|
||||
u8_t
|
||||
ip_portmap_remove(u8_t proto, u16_t mport);
|
||||
|
||||
#endif /* IP_NAPT */
|
||||
#endif /* IP_FORWARD */
|
||||
#endif /* ESP_LWIP */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LWIP_NAPT_H__ */
|
@ -410,6 +410,11 @@ struct netif {
|
||||
void (*l2_buffer_free_notify)(struct netif *lwip_netif, void *user_buf); /* Allows LWIP to notify driver when a L2-supplied pbuf can be freed */
|
||||
ip_addr_t last_ip_addr; /* Store last non-zero ip address */
|
||||
#endif
|
||||
#if ESP_LWIP
|
||||
#if LWIP_IPV4 && IP_NAPT
|
||||
u8_t napt;
|
||||
#endif
|
||||
#endif /* ESP_LWIP */
|
||||
};
|
||||
#if LWIP_CHECKSUM_CTRL_PER_NETIF
|
||||
#define NETIF_SET_CHECKSUM_CTRL(netif, chksumflags) do { \
|
||||
|
@ -767,6 +767,14 @@
|
||||
#define IP_FRAG 0
|
||||
#endif /* !LWIP_IPV4 */
|
||||
|
||||
/**
|
||||
* IP_NAPT==1: Enables IPv4 Network Address and Port Translation
|
||||
* Note that IP_FORWARD needs to be enabled for NAPT to work
|
||||
*/
|
||||
#if !defined IP_NAPT || defined __DOXYGEN__
|
||||
#define IP_NAPT 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* IP_OPTIONS_ALLOWED: Defines the behavior for IP options.
|
||||
* IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.
|
||||
@ -3525,6 +3533,13 @@
|
||||
#define LWIP_TESTMODE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NAPT_DEBUG: Enable debugging for NAPT.
|
||||
*/
|
||||
#ifndef NAPT_DEBUG
|
||||
#define NAPT_DEBUG LWIP_DBG_OFF
|
||||
#endif
|
||||
|
||||
/*
|
||||
--------------------------------------------------
|
||||
---------- Performance tracking options ----------
|
||||
|
@ -263,8 +263,7 @@ char * ets_strdup(const char *s);
|
||||
#define os_strncpy(d, s, n) strncpy((d), (s), (n))
|
||||
#endif
|
||||
#ifndef os_strrchr
|
||||
//hard cold
|
||||
#define os_strrchr(s, c) NULL
|
||||
#define os_strrchr(s, c) strrchr((s), (c))
|
||||
#endif
|
||||
#ifndef os_strstr
|
||||
#define os_strstr(h, n) strstr((h), (n))
|
||||
|
Reference in New Issue
Block a user