From 13a6c5201d71bde412fa0ea453ad10a6e2ace82c Mon Sep 17 00:00:00 2001 From: kurisaw <2053731441@qq.com> Date: Thu, 31 Oct 2024 16:48:52 +0800 Subject: [PATCH] [net][lwip] lwip hook functions are provided to provide greater flexibility for unknown Ethernet protocols --- components/net/lwip/Kconfig | 4 ++++ components/net/lwip/port/lwipopts.h | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/components/net/lwip/Kconfig b/components/net/lwip/Kconfig index 883c14a4d1..48f2a1d86a 100644 --- a/components/net/lwip/Kconfig +++ b/components/net/lwip/Kconfig @@ -281,6 +281,10 @@ if RT_USING_LWIP endif endif + config RT_LWIP_ENABLE_USER_HOOKS + bool "Enable user-defined LWIP hooks" + default n + menuconfig RT_LWIP_DEBUG bool "Enable lwIP Debugging Options" default n diff --git a/components/net/lwip/port/lwipopts.h b/components/net/lwip/port/lwipopts.h index 37ed55b8a5..a297af7060 100644 --- a/components/net/lwip/port/lwipopts.h +++ b/components/net/lwip/port/lwipopts.h @@ -654,4 +654,15 @@ #endif #endif /* RT_USING_LWIP_VER_NUM >= 0x20000 */ +#if RT_LWIP_ENABLE_USER_HOOKS +/** + * This hook provides flexibility for handling unknown Ethernet protocols. + * + * For example, you can define how to handle packets of unknown types, + * such as forwarding them to another interface, discarding them, + * or passing them to an application for further processing. + */ +#define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL lwip_hook_unknown_eth_protocol +#endif /* RT_LWIP_ENABLE_USER_HOOKS */ + #endif /* __LWIPOPTS_H__ */