Lines Matching refs:vid

40 	u16 vid;  member
65 unsigned int vid) in ocelot_mact_select() argument
72 mach |= vid << 16; in ocelot_mact_select()
87 unsigned int vid, in ocelot_mact_learn() argument
90 ocelot_mact_select(ocelot, mac, vid); in ocelot_mact_learn()
104 unsigned int vid) in ocelot_mact_forget() argument
106 ocelot_mact_select(ocelot, mac, vid); in ocelot_mact_forget()
151 static int ocelot_vlant_set_mask(struct ocelot *ocelot, u16 vid, u32 mask) in ocelot_vlant_set_mask() argument
154 ocelot_write(ocelot, ANA_TABLES_VLANTIDX_V_INDEX(vid), in ocelot_vlant_set_mask()
200 if (port->vlan_aware && !port->vid) in ocelot_vlan_port_apply()
213 if (port->vid) in ocelot_vlan_port_apply()
227 REW_PORT_VLAN_CFG_PORT_VID(port->vid); in ocelot_vlan_port_apply()
234 static int ocelot_vlan_vid_add(struct net_device *dev, u16 vid, bool pvid, in ocelot_vlan_vid_add() argument
242 ocelot_mact_learn(ocelot, PGID_CPU, dev->dev_addr, vid, in ocelot_vlan_vid_add()
246 ocelot->vlan_mask[vid] |= BIT(port->chip_port); in ocelot_vlan_vid_add()
247 ret = ocelot_vlant_set_mask(ocelot, vid, ocelot->vlan_mask[vid]); in ocelot_vlan_vid_add()
253 port->pvid = vid; in ocelot_vlan_vid_add()
257 port->vid = vid; in ocelot_vlan_vid_add()
264 static int ocelot_vlan_vid_del(struct net_device *dev, u16 vid) in ocelot_vlan_vid_del() argument
274 if (vid == 0) in ocelot_vlan_vid_del()
278 ocelot_mact_forget(ocelot, dev->dev_addr, vid); in ocelot_vlan_vid_del()
281 ocelot->vlan_mask[vid] &= ~BIT(port->chip_port); in ocelot_vlan_vid_del()
282 ret = ocelot_vlant_set_mask(ocelot, vid, ocelot->vlan_mask[vid]); in ocelot_vlan_vid_del()
287 if (port->pvid == vid) in ocelot_vlan_vid_del()
291 if (port->vid == vid) in ocelot_vlan_vid_del()
292 port->vid = 0; in ocelot_vlan_vid_del()
301 u16 port, vid; in ocelot_vlan_init() local
309 for (vid = 1; vid < VLAN_N_VID; vid++) { in ocelot_vlan_init()
310 ocelot->vlan_mask[vid] = 0; in ocelot_vlan_init()
311 ocelot_vlant_set_mask(ocelot, vid, ocelot->vlan_mask[vid]); in ocelot_vlan_init()
528 ifh[3] = (info->tag_type << 16) | info->vid; in ocelot_gen_ifh()
552 info.vid = skb_vlan_tag_get(skb); in ocelot_port_xmit()
716 u16 vid, u16 flags) in ocelot_fdb_add() argument
721 if (!vid) { in ocelot_fdb_add()
727 vid = port->pvid; in ocelot_fdb_add()
735 return ocelot_mact_learn(ocelot, port->chip_port, addr, vid, in ocelot_fdb_add()
741 const unsigned char *addr, u16 vid) in ocelot_fdb_del() argument
746 return ocelot_mact_forget(ocelot, addr, vid); in ocelot_fdb_del()
784 if (entry->vid && nla_put_u16(dump->skb, NDA_VLAN, entry->vid)) in ocelot_fdb_do_dump()
840 entry->vid = (mach >> 16) & 0xfff; in ocelot_mact_read()
887 u16 vid) in ocelot_vlan_rx_add_vid() argument
889 return ocelot_vlan_vid_add(dev, vid, false, true); in ocelot_vlan_rx_add_vid()
893 u16 vid) in ocelot_vlan_rx_kill_vid() argument
895 return ocelot_vlan_vid_del(dev, vid); in ocelot_vlan_rx_kill_vid()
1159 u16 vid; in ocelot_port_obj_add_vlan() local
1161 for (vid = vlan->vid_begin; vid <= vlan->vid_end; vid++) { in ocelot_port_obj_add_vlan()
1162 ret = ocelot_vlan_vid_add(dev, vid, in ocelot_port_obj_add_vlan()
1176 u16 vid; in ocelot_port_vlan_del_vlan() local
1178 for (vid = vlan->vid_begin; vid <= vlan->vid_end; vid++) { in ocelot_port_vlan_del_vlan()
1179 ret = ocelot_vlan_vid_del(dev, vid); in ocelot_port_vlan_del_vlan()
1190 u16 vid) in ocelot_multicast_get() argument
1195 if (ether_addr_equal(mc->addr, addr) && mc->vid == vid) in ocelot_multicast_get()
1210 u16 vid = mdb->vid; in ocelot_port_obj_add_mdb() local
1213 if (!vid) in ocelot_port_obj_add_mdb()
1214 vid = port->pvid; in ocelot_port_obj_add_mdb()
1216 mc = ocelot_multicast_get(ocelot, mdb->addr, vid); in ocelot_port_obj_add_mdb()
1223 mc->vid = vid; in ocelot_port_obj_add_mdb()
1235 ocelot_mact_forget(ocelot, addr, vid); in ocelot_port_obj_add_mdb()
1242 return ocelot_mact_learn(ocelot, 0, addr, vid, ENTRYTYPE_MACv4); in ocelot_port_obj_add_mdb()
1252 u16 vid = mdb->vid; in ocelot_port_obj_del_mdb() local
1254 if (!vid) in ocelot_port_obj_del_mdb()
1255 vid = port->pvid; in ocelot_port_obj_del_mdb()
1257 mc = ocelot_multicast_get(ocelot, mdb->addr, vid); in ocelot_port_obj_del_mdb()
1265 ocelot_mact_forget(ocelot, addr, vid); in ocelot_port_obj_del_mdb()
1277 return ocelot_mact_learn(ocelot, 0, addr, vid, ENTRYTYPE_MACv4); in ocelot_port_obj_del_mdb()
1362 ocelot_port->vid = 0; in ocelot_port_bridge_leave()