Lines Matching refs:br_mdb

338 prestera_br_mdb_entry_put(struct prestera_br_mdb_entry *br_mdb)  in prestera_br_mdb_entry_put()  argument
342 if (list_empty(&br_mdb->br_mdb_port_list)) { in prestera_br_mdb_entry_put()
343 list_for_each_entry(br_port, &br_mdb->bridge->port_list, head) in prestera_br_mdb_entry_put()
344 prestera_mdb_port_del(br_mdb->mdb, br_port->dev); in prestera_br_mdb_entry_put()
346 prestera_mdb_entry_destroy(br_mdb->mdb); in prestera_br_mdb_entry_put()
347 list_del(&br_mdb->br_mdb_entry_node); in prestera_br_mdb_entry_put()
348 kfree(br_mdb); in prestera_br_mdb_entry_put()
353 prestera_br_mdb_port_del(struct prestera_br_mdb_entry *br_mdb, in prestera_br_mdb_port_del() argument
358 list_for_each_entry_safe(br_mdb_port, tmp, &br_mdb->br_mdb_port_list, in prestera_br_mdb_port_del()
371 struct prestera_br_mdb_entry *br_mdb, *br_mdb_tmp; in prestera_mdb_flush_bridge_port() local
374 list_for_each_entry_safe(br_mdb, br_mdb_tmp, &br_dev->br_mdb_entry_list, in prestera_mdb_flush_bridge_port()
377 &br_mdb->br_mdb_port_list, in prestera_mdb_flush_bridge_port()
379 prestera_mdb_port_del(br_mdb->mdb, in prestera_mdb_flush_bridge_port()
381 prestera_br_mdb_port_del(br_mdb, br_mdb_port->br_port); in prestera_mdb_flush_bridge_port()
383 prestera_br_mdb_entry_put(br_mdb); in prestera_mdb_flush_bridge_port()
942 prestera_br_mdb_port_is_member(struct prestera_br_mdb_entry *br_mdb, in prestera_br_mdb_port_is_member() argument
947 list_for_each_entry(tmp_port, &br_mdb->br_mdb_port_list, in prestera_br_mdb_port_is_member()
979 struct prestera_br_mdb_entry *br_mdb; in prestera_br_mdb_sync() local
987 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_sync()
989 mdb = br_mdb->mdb; in prestera_br_mdb_sync()
993 list_for_each_entry(br_mdb_port, &br_mdb->br_mdb_port_list, in prestera_br_mdb_sync()
1009 if (prestera_br_mdb_port_is_member(br_mdb, in prestera_br_mdb_sync()
1045 (br_mdb, br_port->dev)) { in prestera_br_mdb_sync()
1055 prestera_mdb_enable_set(struct prestera_br_mdb_entry *br_mdb, bool enable) in prestera_mdb_enable_set() argument
1059 if (enable != br_mdb->enabled) { in prestera_mdb_enable_set()
1061 err = prestera_hw_mdb_create(br_mdb->mdb); in prestera_mdb_enable_set()
1063 err = prestera_hw_mdb_destroy(br_mdb->mdb); in prestera_mdb_enable_set()
1068 br_mdb->enabled = enable; in prestera_mdb_enable_set()
1077 struct prestera_br_mdb_entry *br_mdb; in prestera_br_mdb_enable_set() local
1080 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_enable_set()
1082 err = prestera_mdb_enable_set(br_mdb, enable); in prestera_br_mdb_enable_set()
1523 static int prestera_br_mdb_port_add(struct prestera_br_mdb_entry *br_mdb, in prestera_br_mdb_port_add() argument
1528 list_for_each_entry(br_mdb_port, &br_mdb->br_mdb_port_list, in prestera_br_mdb_port_add()
1539 &br_mdb->br_mdb_port_list); in prestera_br_mdb_port_add()
1548 struct prestera_br_mdb_entry *br_mdb; in prestera_br_mdb_entry_find() local
1550 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_entry_find()
1552 if (ether_addr_equal(&br_mdb->mdb->addr[0], addr) && in prestera_br_mdb_entry_find()
1553 vid == br_mdb->mdb->vid) in prestera_br_mdb_entry_find()
1554 return br_mdb; in prestera_br_mdb_entry_find()
1564 struct prestera_br_mdb_entry *br_mdb; in prestera_br_mdb_entry_get() local
1566 br_mdb = prestera_br_mdb_entry_find(br_dev, addr, vid); in prestera_br_mdb_entry_get()
1567 if (br_mdb) in prestera_br_mdb_entry_get()
1568 return br_mdb; in prestera_br_mdb_entry_get()
1576 struct prestera_br_mdb_entry *br_mdb; in prestera_mdb_port_addr_obj_add() local
1596 br_mdb = prestera_br_mdb_entry_get(sw, br_dev, &mdb->addr[0], in prestera_mdb_port_addr_obj_add()
1599 br_mdb = prestera_br_mdb_entry_get(sw, br_dev, &mdb->addr[0], in prestera_mdb_port_addr_obj_add()
1602 if (!br_mdb) in prestera_mdb_port_addr_obj_add()
1608 WARN_ON(prestera_mdb_enable_set(br_mdb, br_dev->multicast_enabled && in prestera_mdb_port_addr_obj_add()
1611 err = prestera_br_mdb_port_add(br_mdb, br_port); in prestera_mdb_port_addr_obj_add()
1613 prestera_br_mdb_entry_put(br_mdb); in prestera_mdb_port_addr_obj_add()
1677 struct prestera_br_mdb_entry *br_mdb; in prestera_mdb_port_addr_obj_del() local
1694 br_mdb = prestera_br_mdb_entry_find(br_dev, &mdb->addr[0], in prestera_mdb_port_addr_obj_del()
1697 br_mdb = prestera_br_mdb_entry_find(br_dev, &mdb->addr[0], in prestera_mdb_port_addr_obj_del()
1700 if (!br_mdb) in prestera_mdb_port_addr_obj_del()
1707 prestera_br_mdb_port_del(br_mdb, br_port); in prestera_mdb_port_addr_obj_del()
1709 prestera_br_mdb_entry_put(br_mdb); in prestera_mdb_port_addr_obj_del()