Lines Matching refs:br_dev
98 const struct net_device *br_dev) in prestera_bridge_find() argument
103 if (bridge->dev == br_dev) in prestera_bridge_find()
126 struct net_device *br_dev = netdev_master_upper_dev_get(brport_dev); in prestera_bridge_port_find() local
129 if (!br_dev) in prestera_bridge_port_find()
132 bridge = prestera_bridge_find(sw, br_dev); in prestera_bridge_port_find()
372 struct prestera_bridge *br_dev = br_port->bridge; 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()
546 struct net_device *br_dev = prestera_get_upper_bridge_dev(dev); in prestera_bridge_port_by_dev() local
549 if (!br_dev) in prestera_bridge_port_by_dev()
552 bridge = prestera_bridge_by_dev(swdev, br_dev); in prestera_bridge_port_by_dev()
648 int prestera_bridge_port_join(struct net_device *br_dev, in prestera_bridge_port_join() argument
657 bridge = prestera_bridge_by_dev(swdev, br_dev); in prestera_bridge_port_join()
659 bridge = prestera_bridge_create(swdev, br_dev); in prestera_bridge_port_join()
737 void prestera_bridge_port_leave(struct net_device *br_dev, in prestera_bridge_port_leave() argument
744 bridge = prestera_bridge_by_dev(swdev, br_dev); in prestera_bridge_port_leave()
903 static int prestera_br_mdb_mc_enable_sync(struct prestera_bridge *br_dev) in prestera_br_mdb_mc_enable_sync() argument
915 list_for_each_entry(br_port, &br_dev->port_list, head) { in prestera_br_mdb_mc_enable_sync()
916 if (br_dev->multicast_enabled && br_dev->mrouter_exist) in prestera_br_mdb_mc_enable_sync()
975 static int prestera_br_mdb_sync(struct prestera_bridge *br_dev) in prestera_br_mdb_sync() argument
984 if (!br_dev->multicast_enabled) in prestera_br_mdb_sync()
987 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_sync()
1001 if (br_dev->vlan_enabled && in prestera_br_mdb_sync()
1011 br_dev->mrouter_exist) in prestera_br_mdb_sync()
1025 list_for_each_entry(br_port, &br_dev->port_list, head) { in prestera_br_mdb_sync()
1032 if (br_dev->vlan_enabled && in prestera_br_mdb_sync()
1075 prestera_br_mdb_enable_set(struct prestera_bridge *br_dev, bool enable) in prestera_br_mdb_enable_set() argument
1080 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_enable_set()
1095 struct prestera_bridge *br_dev; in prestera_port_attr_br_mc_disabled_set() local
1097 br_dev = prestera_bridge_find(sw, orig_dev); in prestera_port_attr_br_mc_disabled_set()
1098 if (!br_dev) in prestera_port_attr_br_mc_disabled_set()
1101 br_dev->multicast_enabled = !mc_disabled; in prestera_port_attr_br_mc_disabled_set()
1104 WARN_ON(prestera_br_mdb_enable_set(br_dev, br_dev->multicast_enabled && in prestera_port_attr_br_mc_disabled_set()
1105 br_dev->mrouter_exist)); in prestera_port_attr_br_mc_disabled_set()
1107 WARN_ON(prestera_br_mdb_sync(br_dev)); in prestera_port_attr_br_mc_disabled_set()
1109 WARN_ON(prestera_br_mdb_mc_enable_sync(br_dev)); in prestera_port_attr_br_mc_disabled_set()
1115 prestera_bridge_mdb_mc_mrouter_exists(struct prestera_bridge *br_dev) in prestera_bridge_mdb_mc_mrouter_exists() argument
1119 list_for_each_entry(br_port, &br_dev->port_list, head) in prestera_bridge_mdb_mc_mrouter_exists()
1132 struct prestera_bridge *br_dev; in prestera_port_attr_mrouter_set() local
1138 br_dev = br_port->bridge; in prestera_port_attr_mrouter_set()
1141 br_dev->mrouter_exist = prestera_bridge_mdb_mc_mrouter_exists(br_dev); in prestera_port_attr_mrouter_set()
1148 WARN_ON(prestera_br_mdb_enable_set(br_dev, br_dev->multicast_enabled && in prestera_port_attr_mrouter_set()
1149 br_dev->mrouter_exist)); in prestera_port_attr_mrouter_set()
1151 WARN_ON(prestera_br_mdb_sync(br_dev)); in prestera_port_attr_mrouter_set()
1153 WARN_ON(prestera_br_mdb_mc_enable_sync(br_dev)); in prestera_port_attr_mrouter_set()
1495 struct prestera_bridge *br_dev, in prestera_br_mdb_entry_create() argument
1510 br_mdb_entry->bridge = br_dev; in prestera_br_mdb_entry_create()
1514 list_add(&br_mdb_entry->br_mdb_entry_node, &br_dev->br_mdb_entry_list); in prestera_br_mdb_entry_create()
1545 prestera_br_mdb_entry_find(struct prestera_bridge *br_dev, in prestera_br_mdb_entry_find() argument
1550 list_for_each_entry(br_mdb, &br_dev->br_mdb_entry_list, in prestera_br_mdb_entry_find()
1561 struct prestera_bridge *br_dev, in prestera_br_mdb_entry_get() argument
1566 br_mdb = prestera_br_mdb_entry_find(br_dev, addr, vid); in prestera_br_mdb_entry_get()
1570 return prestera_br_mdb_entry_create(sw, br_dev, addr, vid); in prestera_br_mdb_entry_get()
1578 struct prestera_bridge *br_dev; in prestera_mdb_port_addr_obj_add() local
1590 br_dev = br_port->bridge; in prestera_mdb_port_addr_obj_add()
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()
1600 br_dev->bridge_id); 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()
1609 br_dev->mrouter_exist)); in prestera_mdb_port_addr_obj_add()
1617 err = prestera_br_mdb_sync(br_dev); in prestera_mdb_port_addr_obj_add()
1679 struct prestera_bridge *br_dev; in prestera_mdb_port_addr_obj_del() local
1691 br_dev = br_port->bridge; in prestera_mdb_port_addr_obj_del()
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()
1711 err = prestera_br_mdb_sync(br_dev); in prestera_mdb_port_addr_obj_del()