From 4f0ee78558f23e4c4305d03d89b8e27710bedf75 Mon Sep 17 00:00:00 2001 From: xueyunfei Date: Mon, 20 Jan 2020 16:11:03 +0800 Subject: [PATCH] add feature ETHARP SUPPORT VLAN --- components/lwip/Kconfig | 10 ++++++++++ components/lwip/port/esp32/include/lwipopts.h | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/components/lwip/Kconfig b/components/lwip/Kconfig index d7b2d464d..f6bd4fd21 100644 --- a/components/lwip/Kconfig +++ b/components/lwip/Kconfig @@ -16,6 +16,16 @@ menu "LWIP" Please make sure you fully understand the impact of this feature before enabling it. + config ETHARP_SUPPORT_VLAN + bool "Support receiving and sending ethernet packets with VLAN header" + default n + help + ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with + VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and LWIP_HOOK_VLAN_SET + hooks to check/set VLAN headers. + If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. + If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. + config LWIP_IRAM_OPTIMIZATION bool "Enable LWIP IRAM optimization" default n diff --git a/components/lwip/port/esp32/include/lwipopts.h b/components/lwip/port/esp32/include/lwipopts.h index 6aa2253dc..e4fee682f 100644 --- a/components/lwip/port/esp32/include/lwipopts.h +++ b/components/lwip/port/esp32/include/lwipopts.h @@ -738,6 +738,17 @@ */ #define ETHARP_TRUST_IP_MAC CONFIG_LWIP_ETHARP_TRUST_IP_MAC +/** + * ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with + * VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and + * LWIP_HOOK_VLAN_SET hooks to check/set VLAN headers. + * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. + * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. + * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. + * Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) + * that returns 1 to accept a packet or 0 to drop a packet. + */ +#define ETHARP_SUPPORT_VLAN CONFIG_ETHARP_SUPPORT_VLAN /** * POSIX I/O functions are mapped to LWIP via the VFS layer