Forráskód Böngészése

add feature ETHARP SUPPORT VLAN

xueyunfei 6 éve
szülő
commit
4f0ee78558
2 módosított fájl, 21 hozzáadás és 0 törlés
  1. 10 0
      components/lwip/Kconfig
  2. 11 0
      components/lwip/port/esp32/include/lwipopts.h

+ 10 - 0
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

+ 11 - 0
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