[U-Boot] [RFC PATCH v3 10/11] net: e1000 enable multicast reception
Chris Packham
judge.packham at gmail.com
Wed Jan 25 10:56:21 CET 2017
IPv6 neighbor discovery uses various multicast addresses to send the
request and receive the response. For neighbor discovery to work
properly in U-boot the Ethernet device needs to support joining/leaving
various L2 multicast groups or it needs to support multicast/promiscuous
mode. For the sake of simplicity the latter approach has been taken. The
e1000 hardware has slightly finer grained control in that it is possible
to enable support for multicast-promiscuous mode separately from unicast
so the extra traffic received is less.
Signed-off-by: Chris Packham <judge.packham at gmail.com>
---
Drivers that support multicast reception have it enabled/disabled with
CONFIG_MCAST_TFTP. It wouldn't be too hard to create a separate
CONFIG_MCAST that is selected by enabling CONFIG_MCAST_TFTP or
CONFIG_NET6.
Changes in v3: None
Changes in v2: None
drivers/net/e1000.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 875682b1b89e..4c26cb4ce68f 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -5067,6 +5067,11 @@ e1000_setup_rctl(struct e1000_hw *hw)
rctl &= ~(E1000_RCTL_SZ_4096);
rctl |= E1000_RCTL_SZ_2048;
rctl &= ~(E1000_RCTL_BSEX | E1000_RCTL_LPE);
+
+#ifdef CONFIG_NET6
+ rctl |= E1000_RCTL_MPE;
+#endif
+
E1000_WRITE_REG(hw, RCTL, rctl);
}
--
2.11.0.24.ge6920cf
More information about the U-Boot
mailing list