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

Reply via email to