aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/etherswitch/arswitch
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2015-10-20 21:18:02 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2015-10-20 21:18:02 +0000
commit8f1cf028d33ab9792277b4a30c1b1450da766839 (patch)
tree9f84dad025e8ad3c75037088ca20f65c4f3e8386 /sys/dev/etherswitch/arswitch
parent8fc3db038e31dabe00720cbef35566d89f7a8b4a (diff)
Notes
Diffstat (limited to 'sys/dev/etherswitch/arswitch')
-rw-r--r--sys/dev/etherswitch/arswitch/arswitch_8327.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/etherswitch/arswitch/arswitch_8327.c b/sys/dev/etherswitch/arswitch/arswitch_8327.c
index e727416ad3a0..96c2282940c0 100644
--- a/sys/dev/etherswitch/arswitch/arswitch_8327.c
+++ b/sys/dev/etherswitch/arswitch/arswitch_8327.c
@@ -66,6 +66,14 @@
#include "miibus_if.h"
#include "etherswitch_if.h"
+/*
+ * AR8327 TODO:
+ *
+ * There should be a default hardware setup hint set for the default
+ * switch config. Otherwise the default is "all ports in one vlangroup",
+ * which means both CPU ports can see each other and that will quickly
+ * lead to traffic storms/loops.
+ */
static int
ar8327_vlan_op(struct arswitch_softc *sc, uint32_t op, uint32_t vid,
@@ -897,8 +905,8 @@ ar8327_reset_vlans(struct arswitch_softc *sc)
/*
* If dot1q - set pvid; dot1q, etc.
*/
- sc->vid[0] = 1;
if (sc->vlan_mode == ETHERSWITCH_VLAN_DOT1Q) {
+ sc->vid[0] = 1;
for (i = 0; i < AR8327_NUM_PORTS; i++) {
/* Each port - pvid 1 */
sc->hal.arswitch_vlan_set_pvid(sc, i, sc->vid[0]);