This is an automated email from the ASF dual-hosted git repository.
xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new b9cc45caff0 drivers/net{e1000|igb|igc}: add support for NET_BROADCAST
b9cc45caff0 is described below
commit b9cc45caff013bed266587a234379f0fd7684b28
Author: p-szafonimateusz <[email protected]>
AuthorDate: Tue Dec 16 14:45:23 2025 +0100
drivers/net{e1000|igb|igc}: add support for NET_BROADCAST
accept UDP broadcast packets if enabled
Signed-off-by: p-szafonimateusz <[email protected]>
---
drivers/net/e1000.c | 3 +++
drivers/net/igb.c | 3 +++
drivers/net/igc.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index f04e341a550..b00b18be465 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -1351,6 +1351,9 @@ static void e1000_enable(FAR struct e1000_driver_s *priv)
regval = E1000_RCTL_EN | E1000_RCTL_MPE |
(E1000_RCTL_BSIZE << E1000_RCTL_BSIZE_SHIFT) |
(E1000_RCTL_MO_4736 << E1000_RCTL_MO_SHIFT);
+#ifdef CONFIG_NET_BROADCAST
+ regval |= E1000_RCTL_BAM;
+#endif
#ifdef CONFIG_NET_PROMISCUOUS
regval |= E1000_RCTL_UPE | E1000_RCTL_MPE;
#endif
diff --git a/drivers/net/igb.c b/drivers/net/igb.c
index 0c22215535e..12c22ece813 100644
--- a/drivers/net/igb.c
+++ b/drivers/net/igb.c
@@ -1252,6 +1252,9 @@ static void igb_enable(FAR struct igb_driver_s *priv)
regval = (IGB_RCTL_EN | IGB_RCTL_MPE |
(IGB_RCTL_BSIZE << IGB_RCTL_BSIZE_SHIFT));
+#ifdef CONFIG_NET_BROADCAST
+ regval |= IGB_RCTL_BAM;
+#endif
#ifdef CONFIG_NET_PROMISCUOUS
regval |= IGB_RCTL_UPE | IGB_RCTL_MPE;
#endif
diff --git a/drivers/net/igc.c b/drivers/net/igc.c
index c81f4097aa6..85b89968beb 100644
--- a/drivers/net/igc.c
+++ b/drivers/net/igc.c
@@ -1232,6 +1232,9 @@ static void igc_enable(FAR struct igc_driver_s *priv)
regval = (IGC_RCTL_EN | IGC_RCTL_MPE |
(IGC_RCTL_BSIZE << IGC_RCTL_BSIZE_SHIFT));
+#ifdef CONFIG_NET_BROADCAST
+ regval |= IGC_RCTL_BAM;
+#endif
#ifdef CONFIG_NET_PROMISCUOUS
regval |= IGC_RCTL_UPE | IGC_RCTL_MPE;
#endif