diff options
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/etherswitch/arswitch/arswitch_8316.c | 9 |
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); |
