diff --git a/cmd_parser.c b/cmd_parser.c index e7daa9e8..202fd923 100644 --- a/cmd_parser.c +++ b/cmd_parser.c @@ -18,6 +18,7 @@ #include "rtl837x_bandwidth.h" #include "rtl837x_lldp.h" #include "rtl837x_storm.h" +#include "rtl837x_trap.h" #include "sfp.h" #include "dhcp.h" #include "syslog.h" @@ -2043,9 +2044,11 @@ void cmd_parser(void) __banked if (cmd_compare(1, "on")) { print_string("LLDP enabled\n"); lldp_enabled = 1; + trap_rma_set(RTL837X_RMA0_CONF_0E, RTL837X_RMA_ACT_TRAP); } else { print_string("LLDP disabled\n"); lldp_enabled = 0; + trap_rma_set(RTL837X_RMA0_CONF_0E, RTL837X_RMA_ACT_FORWARD); } } else { diff --git a/rtl837x_regs.h b/rtl837x_regs.h index dc4b2dc1..7730e85f 100644 --- a/rtl837x_regs.h +++ b/rtl837x_regs.h @@ -285,6 +285,7 @@ */ #define RTL8373_RLDP_TIMER 0x1074 #define RTL837X_RMA0_CONF 0x4ecc +#define RTL837X_RMA0_CONF_0E 0x4ee8 #define RTL837X_RMA2_CONF 0x4ed4 #define RTL837X_RMA_ACT_MASK 0x30 #define RTL837X_RMA_ACT_FORWARD 0x00