Lines Matching defs:vid
58 ar8xxx_vlan_op(struct arswitch_softc *sc, uint32_t op, uint32_t vid,
75 if (vid != 0)
76 op |= ((vid & ETHERSWITCH_VID_MASK) << AR8X16_VLAN_VID_SHIFT);
97 ar8xxx_purge_dot1q_vlan(struct arswitch_softc *sc, int vid)
101 return (ar8xxx_vlan_op(sc, AR8X16_VLAN_OP_PURGE, vid, 0));
106 uint32_t *untagged_ports, int vid)
112 err = ar8xxx_vlan_op(sc, AR8X16_VLAN_OP_GET, vid, 0);
129 uint32_t untagged_ports, int vid)
134 err = ar8xxx_vlan_op(sc, AR8X16_VLAN_OP_LOAD, vid, ports);
141 ar8xxx_get_port_vlan(struct arswitch_softc *sc, uint32_t *ports, int vid)
148 port = vid & ETHERSWITCH_VID_MASK;
156 ar8xxx_set_port_vlan(struct arswitch_softc *sc, uint32_t ports, int vid)
162 port = vid & ETHERSWITCH_VID_MASK;
185 memset(sc->vid, 0, sizeof(sc->vid));
221 sc->vid[0] = 1;
224 sc->hal.arswitch_vlan_set_pvid(sc, i, sc->vid[0]);
228 sc->hal.arswitch_set_dot1q_vlan(sc, ports, sc->vid[0], sc->vid[0]);
229 sc->vid[0] |= ETHERSWITCH_VID_VALID;
233 sc->vid[i] = i | ETHERSWITCH_VID_VALID;
282 vg->es_vid = sc->vid[vg->es_vlangroup];
313 int err, vid;
326 vid = sc->vid[vg->es_vlangroup];
328 (vid & ETHERSWITCH_VID_VALID) != 0 &&
329 (vid & ETHERSWITCH_VID_MASK) !=
331 err = sc->hal.arswitch_purge_dot1q_vlan(sc, vid);
340 sc->vid[vg->es_vlangroup] = vg->es_vid & ETHERSWITCH_VID_MASK;
342 if (sc->vid[vg->es_vlangroup] == 0) {
346 sc->vid[vg->es_vlangroup] |= ETHERSWITCH_VID_VALID;
347 vid = sc->vid[vg->es_vlangroup];
354 vg->es_untagged_ports, vid);
357 err = sc->hal.arswitch_set_port_vlan(sc, vg->es_member_ports, vid);