aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/etherswitch
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2012-05-12 20:39:41 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2012-05-12 20:39:41 +0000
commit031f3eaed408fd5e2052e5a25a07df55d3d206bb (patch)
tree8be8755e810ce38b439269dec050b51d335d5d7d /sys/dev/etherswitch
parent2015605e8dcbc6b06f82a5efeda7bb1c8d8db1b3 (diff)
Notes
Diffstat (limited to 'sys/dev/etherswitch')
-rw-r--r--sys/dev/etherswitch/arswitch/arswitch_8316.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/etherswitch/arswitch/arswitch_8316.c b/sys/dev/etherswitch/arswitch/arswitch_8316.c
index ebf276be4ded1..3f01aed88b33e 100644
--- a/sys/dev/etherswitch/arswitch/arswitch_8316.c
+++ b/sys/dev/etherswitch/arswitch/arswitch_8316.c
@@ -128,7 +128,14 @@ ar8316_hw_global_setup(struct arswitch_softc *sc)
{
arswitch_writereg(sc->sc_dev, 0x38, 0xc000050e);
- arswitch_writereg(sc->sc_dev, AR8X16_REG_FLOOD_MASK, 0x003f003f);
+
+ /*
+ * Flood address table misses to all ports, and enable forwarding of
+ * broadcasts to the cpu port.
+ */
+ arswitch_writereg(sc->sc_dev, AR8X16_REG_FLOOD_MASK,
+ AR8X16_FLOOD_MASK_BCAST_TO_CPU | 0x003f003f);
+
arswitch_modifyreg(sc->sc_dev, AR8X16_REG_GLOBAL_CTRL,
AR8316_GLOBAL_CTRL_MTU_MASK, 9018 + 8 + 2);