Lines Matching refs:l2_lookup

344 	struct sja1105_l2_lookup_entry *l2_lookup;  in sja1105_init_static_fdb()  local
368 l2_lookup = table->entries; in sja1105_init_static_fdb()
371 l2_lookup[0].macaddr = SJA1105_UNKNOWN_MULTICAST; in sja1105_init_static_fdb()
372 l2_lookup[0].mask_macaddr = SJA1105_UNKNOWN_MULTICAST; in sja1105_init_static_fdb()
373 l2_lookup[0].lockeds = true; in sja1105_init_static_fdb()
374 l2_lookup[0].index = SJA1105_MAX_L2_LOOKUP_COUNT - 1; in sja1105_init_static_fdb()
379 l2_lookup[0].destports |= BIT(port); in sja1105_init_static_fdb()
1438 struct sja1105_l2_lookup_entry *l2_lookup; in sja1105_find_static_fdb_entry() local
1443 l2_lookup = table->entries; in sja1105_find_static_fdb_entry()
1446 if (l2_lookup[i].macaddr == requested->macaddr && in sja1105_find_static_fdb_entry()
1447 l2_lookup[i].vlanid == requested->vlanid && in sja1105_find_static_fdb_entry()
1448 l2_lookup[i].destports & BIT(port)) in sja1105_find_static_fdb_entry()
1464 struct sja1105_l2_lookup_entry *l2_lookup; in sja1105_static_fdb_change() local
1485 l2_lookup = table->entries; in sja1105_static_fdb_change()
1494 l2_lookup[match] = *requested; in sja1105_static_fdb_change()
1501 l2_lookup[match] = l2_lookup[table->entry_count - 1]; in sja1105_static_fdb_change()
1524 struct sja1105_l2_lookup_entry l2_lookup = {0}; in sja1105et_is_fdb_entry_in_bin() local
1531 index, &l2_lookup)) { in sja1105et_is_fdb_entry_in_bin()
1537 if (l2_lookup.macaddr == ether_addr_to_u64(addr) && in sja1105et_is_fdb_entry_in_bin()
1538 l2_lookup.vlanid == vid) { in sja1105et_is_fdb_entry_in_bin()
1540 *match = l2_lookup; in sja1105et_is_fdb_entry_in_bin()
1551 struct sja1105_l2_lookup_entry l2_lookup = {0}, tmp; in sja1105et_fdb_add() local
1561 &l2_lookup, &last_unused); in sja1105et_fdb_add()
1567 if ((l2_lookup.destports & BIT(port)) && l2_lookup.lockeds) in sja1105et_fdb_add()
1569 l2_lookup.destports |= BIT(port); in sja1105et_fdb_add()
1576 l2_lookup.macaddr = ether_addr_to_u64(addr); in sja1105et_fdb_add()
1577 l2_lookup.destports = BIT(port); in sja1105et_fdb_add()
1578 l2_lookup.vlanid = vid; in sja1105et_fdb_add()
1598 l2_lookup.lockeds = true; in sja1105et_fdb_add()
1599 l2_lookup.index = sja1105et_fdb_index(bin, way); in sja1105et_fdb_add()
1602 l2_lookup.index, &l2_lookup, in sja1105et_fdb_add()
1630 return sja1105_static_fdb_change(priv, port, &l2_lookup, true); in sja1105et_fdb_add()
1636 struct sja1105_l2_lookup_entry l2_lookup = {0}; in sja1105et_fdb_del() local
1643 &l2_lookup, NULL); in sja1105et_fdb_del()
1653 l2_lookup.destports &= ~BIT(port); in sja1105et_fdb_del()
1655 if (l2_lookup.destports) in sja1105et_fdb_del()
1661 index, &l2_lookup, keep); in sja1105et_fdb_del()
1665 return sja1105_static_fdb_change(priv, port, &l2_lookup, keep); in sja1105et_fdb_del()
1671 struct sja1105_l2_lookup_entry l2_lookup = {0}, tmp; in sja1105pqrs_fdb_add() local
1676 l2_lookup.macaddr = ether_addr_to_u64(addr); in sja1105pqrs_fdb_add()
1677 l2_lookup.vlanid = vid; in sja1105pqrs_fdb_add()
1678 l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0); in sja1105pqrs_fdb_add()
1679 l2_lookup.mask_vlanid = VLAN_VID_MASK; in sja1105pqrs_fdb_add()
1680 l2_lookup.destports = BIT(port); in sja1105pqrs_fdb_add()
1682 tmp = l2_lookup; in sja1105pqrs_fdb_add()
1693 l2_lookup = tmp; in sja1105pqrs_fdb_add()
1698 l2_lookup.destports |= BIT(port); in sja1105pqrs_fdb_add()
1716 l2_lookup.index = i; in sja1105pqrs_fdb_add()
1719 l2_lookup.lockeds = true; in sja1105pqrs_fdb_add()
1722 l2_lookup.index, &l2_lookup, in sja1105pqrs_fdb_add()
1738 tmp = l2_lookup; in sja1105pqrs_fdb_add()
1749 if (tmp.index < l2_lookup.index) { in sja1105pqrs_fdb_add()
1756 return sja1105_static_fdb_change(priv, port, &l2_lookup, true); in sja1105pqrs_fdb_add()
1762 struct sja1105_l2_lookup_entry l2_lookup = {0}; in sja1105pqrs_fdb_del() local
1767 l2_lookup.macaddr = ether_addr_to_u64(addr); in sja1105pqrs_fdb_del()
1768 l2_lookup.vlanid = vid; in sja1105pqrs_fdb_del()
1769 l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0); in sja1105pqrs_fdb_del()
1770 l2_lookup.mask_vlanid = VLAN_VID_MASK; in sja1105pqrs_fdb_del()
1771 l2_lookup.destports = BIT(port); in sja1105pqrs_fdb_del()
1774 SJA1105_SEARCH, &l2_lookup); in sja1105pqrs_fdb_del()
1778 l2_lookup.destports &= ~BIT(port); in sja1105pqrs_fdb_del()
1783 if (l2_lookup.destports) in sja1105pqrs_fdb_del()
1789 l2_lookup.index, &l2_lookup, keep); in sja1105pqrs_fdb_del()
1793 return sja1105_static_fdb_change(priv, port, &l2_lookup, keep); in sja1105pqrs_fdb_del()
1867 struct sja1105_l2_lookup_entry l2_lookup = {0}; in sja1105_fdb_dump() local
1872 i, &l2_lookup); in sja1105_fdb_dump()
1887 if (!(l2_lookup.destports & BIT(port))) in sja1105_fdb_dump()
1890 u64_to_ether_addr(l2_lookup.macaddr, macaddr); in sja1105_fdb_dump()
1899 if (vid_is_dsa_8021q(l2_lookup.vlanid)) in sja1105_fdb_dump()
1900 l2_lookup.vlanid = 0; in sja1105_fdb_dump()
1901 rc = cb(macaddr, l2_lookup.vlanid, l2_lookup.lockeds, data); in sja1105_fdb_dump()
1924 struct sja1105_l2_lookup_entry l2_lookup = {0}; in sja1105_fast_age() local
1929 i, &l2_lookup); in sja1105_fast_age()
1939 if (!(l2_lookup.destports & BIT(port))) in sja1105_fast_age()
1943 if (l2_lookup.lockeds) in sja1105_fast_age()
1946 u64_to_ether_addr(l2_lookup.macaddr, macaddr); in sja1105_fast_age()
1948 rc = __sja1105_fdb_del(ds, port, macaddr, l2_lookup.vlanid, db); in sja1105_fast_age()
1952 macaddr, l2_lookup.vlanid, ERR_PTR(rc)); in sja1105_fast_age()
2981 struct sja1105_l2_lookup_entry *l2_lookup; in sja1105_port_mcast_flood() local
2988 l2_lookup = table->entries; in sja1105_port_mcast_flood()
2991 if (l2_lookup[match].macaddr == SJA1105_UNKNOWN_MULTICAST && in sja1105_port_mcast_flood()
2992 l2_lookup[match].mask_macaddr == SJA1105_UNKNOWN_MULTICAST) in sja1105_port_mcast_flood()
3003 l2_lookup[match].destports |= BIT(to); in sja1105_port_mcast_flood()
3005 l2_lookup[match].destports &= ~BIT(to); in sja1105_port_mcast_flood()
3008 l2_lookup[match].index, in sja1105_port_mcast_flood()
3009 &l2_lookup[match], true); in sja1105_port_mcast_flood()