Lines Matching refs:br
98 struct net_bridge *br = NULL; in br_get_link_af_size_filtered() local
110 br = netdev_priv(dev); in br_get_link_af_size_filtered()
111 vg = br_vlan_group_rcu(br); in br_get_link_af_size_filtered()
128 if (!br) in br_get_link_af_size_filtered()
132 br_cfm_mep_count(br, &num_cfm_mep_infos); in br_get_link_af_size_filtered()
133 br_cfm_peer_mep_count(br, &num_cfm_peer_mep_infos); in br_get_link_af_size_filtered()
444 struct net_bridge *br; in br_fill_ifinfo() local
449 br = port->br; in br_fill_ifinfo()
451 br = netdev_priv(dev); in br_fill_ifinfo()
453 br_debug(br, "br_fill_info event %d port %s master %s\n", in br_fill_ifinfo()
454 event, dev->name, br->dev->name); in br_fill_ifinfo()
469 nla_put_u32(skb, IFLA_MASTER, br->dev->ifindex) || in br_fill_ifinfo()
509 vg = br_vlan_group_rcu(br); in br_fill_ifinfo()
530 if (!br_mrp_enabled(br) || port) in br_fill_ifinfo()
534 err = br_mrp_fill_info(skb, br); in br_fill_ifinfo()
545 if (!br_cfm_created(br) || port) in br_fill_ifinfo()
554 err = br_cfm_config_fill_info(skb, br); in br_fill_ifinfo()
562 err = br_cfm_status_fill_info(skb, br, getlink); in br_fill_ifinfo()
572 br_opt_get(br, BROPT_MST_ENABLED) && port) { in br_fill_ifinfo()
607 void br_info_notify(int event, const struct net_bridge *br, in br_info_notify() argument
616 if (WARN_ON(!port && !br)) in br_info_notify()
621 br = port->br; in br_info_notify()
624 dev = br->dev; in br_info_notify()
628 br_debug(br, "port %u(%s) event %d\n", port_no, dev->name, event); in br_info_notify()
648 void br_ifinfo_notify(int event, const struct net_bridge *br, in br_ifinfo_notify() argument
653 return br_info_notify(event, br, port, filter); in br_ifinfo_notify()
675 static int br_vlan_info(struct net_bridge *br, struct net_bridge_port *p, in br_vlan_info() argument
692 err = br_vlan_add(br, vinfo->vid, vinfo->flags, in br_vlan_info()
705 !br_vlan_delete(p->br, vinfo->vid)) in br_vlan_info()
707 } else if (!br_vlan_delete(br, vinfo->vid)) { in br_vlan_info()
716 int br_process_vlan_info(struct net_bridge *br, in br_process_vlan_info() argument
751 err = br_vlan_info(br, p, cmd, &tmp_vinfo, &curr_change, in br_process_vlan_info()
763 br_vlan_notify(br, p, v_change_start, in br_process_vlan_info()
771 br_vlan_notify(br, p, v_change_start, in br_process_vlan_info()
779 err = br_vlan_info(br, p, cmd, vinfo_curr, changed, extack); in br_process_vlan_info()
781 br_vlan_notify(br, p, vinfo_curr->vid, 0, rtm_cmd); in br_process_vlan_info()
786 static int br_afspec(struct net_bridge *br, in br_afspec() argument
808 err = br_process_vlan_tunnel_info(br, p, cmd, in br_afspec()
819 err = br_process_vlan_info(br, p, cmd, vinfo_curr, in br_afspec()
826 err = br_mrp_parse(br, p, attr, cmd, extack); in br_afspec()
831 err = br_cfm_parse(br, p, attr, cmd, extack); in br_afspec()
890 if (p->br->stp_enabled == BR_KERNEL_STP) in br_set_port_state()
901 br_port_state_selection(p->br); in br_set_port_state()
979 br_fdb_delete_by_port(p->br, p, 0, 0); in br_setport()
1033 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); in br_setlink() local
1062 spin_lock_bh(&p->br->lock); in br_setlink()
1064 spin_unlock_bh(&p->br->lock); in br_setlink()
1070 spin_lock_bh(&p->br->lock); in br_setlink()
1072 spin_unlock_bh(&p->br->lock); in br_setlink()
1080 err = br_afspec(br, p, afspec, RTM_SETLINK, &changed, extack); in br_setlink()
1083 br_ifinfo_notify(RTM_NEWLINK, br, p); in br_setlink()
1091 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); in br_dellink() local
1106 err = br_afspec(br, p, afspec, RTM_DELLINK, &changed, NULL); in br_dellink()
1111 br_ifinfo_notify(RTM_NEWLINK, br, p); in br_dellink()
1151 struct net_bridge *br = netdev_priv(brdev); in br_port_slave_changelink() local
1157 spin_lock_bh(&br->lock); in br_port_slave_changelink()
1159 spin_unlock_bh(&br->lock); in br_port_slave_changelink()
1220 struct net_bridge *br = netdev_priv(brdev); in br_changelink() local
1227 err = br_set_forward_delay(br, nla_get_u32(data[IFLA_BR_FORWARD_DELAY])); in br_changelink()
1233 err = br_set_hello_time(br, nla_get_u32(data[IFLA_BR_HELLO_TIME])); in br_changelink()
1239 err = br_set_max_age(br, nla_get_u32(data[IFLA_BR_MAX_AGE])); in br_changelink()
1245 err = br_set_ageing_time(br, nla_get_u32(data[IFLA_BR_AGEING_TIME])); in br_changelink()
1253 err = br_stp_set_enabled(br, stp_enabled, extack); in br_changelink()
1261 br_stp_set_bridge_priority(br, priority); in br_changelink()
1267 err = br_vlan_filter_toggle(br, vlan_filter, extack); in br_changelink()
1276 err = __br_vlan_set_proto(br, vlan_proto, extack); in br_changelink()
1284 err = __br_vlan_set_default_pvid(br, defpvid, extack); in br_changelink()
1292 err = br_vlan_set_stats(br, vlan_stats); in br_changelink()
1300 err = br_vlan_set_stats_per_port(br, per_port); in br_changelink()
1311 br->group_fwd_mask = fwd_mask; in br_changelink()
1326 spin_lock_bh(&br->lock); in br_changelink()
1327 memcpy(br->group_addr, new_addr, sizeof(br->group_addr)); in br_changelink()
1328 spin_unlock_bh(&br->lock); in br_changelink()
1329 br_opt_toggle(br, BROPT_GROUP_ADDR_SET, true); in br_changelink()
1330 br_recalculate_fwd_mask(br); in br_changelink()
1338 br_fdb_flush(br, &desc); in br_changelink()
1345 err = br_multicast_set_router(&br->multicast_ctx, in br_changelink()
1354 err = br_multicast_toggle(br, mcast_snooping, extack); in br_changelink()
1363 br_opt_toggle(br, BROPT_MULTICAST_QUERY_USE_IFADDR, !!val); in br_changelink()
1369 err = br_multicast_set_querier(&br->multicast_ctx, in br_changelink()
1376 br_warn(br, "the hash_elasticity option has been deprecated and is always %u\n", in br_changelink()
1380 br->hash_max = nla_get_u32(data[IFLA_BR_MCAST_HASH_MAX]); in br_changelink()
1385 br->multicast_ctx.multicast_last_member_count = val; in br_changelink()
1391 br->multicast_ctx.multicast_startup_query_count = val; in br_changelink()
1397 br->multicast_ctx.multicast_last_member_interval = clock_t_to_jiffies(val); in br_changelink()
1403 br->multicast_ctx.multicast_membership_interval = clock_t_to_jiffies(val); in br_changelink()
1409 br->multicast_ctx.multicast_querier_interval = clock_t_to_jiffies(val); in br_changelink()
1415 br_multicast_set_query_intvl(&br->multicast_ctx, val); in br_changelink()
1421 br->multicast_ctx.multicast_query_response_interval = clock_t_to_jiffies(val); in br_changelink()
1427 br_multicast_set_startup_query_intvl(&br->multicast_ctx, val); in br_changelink()
1434 br_opt_toggle(br, BROPT_MULTICAST_STATS_ENABLED, !!mcast_stats); in br_changelink()
1441 err = br_multicast_set_igmp_version(&br->multicast_ctx, in br_changelink()
1452 err = br_multicast_set_mld_version(&br->multicast_ctx, in br_changelink()
1463 br_opt_toggle(br, BROPT_NF_CALL_IPTABLES, !!val); in br_changelink()
1469 br_opt_toggle(br, BROPT_NF_CALL_IP6TABLES, !!val); in br_changelink()
1475 br_opt_toggle(br, BROPT_NF_CALL_ARPTABLES, !!val); in br_changelink()
1483 err = br_boolopt_multi_toggle(br, bm, extack); in br_changelink()
1495 struct net_bridge *br = netdev_priv(dev); in br_dev_newlink() local
1503 spin_lock_bh(&br->lock); in br_dev_newlink()
1504 br_stp_change_bridge_id(br, nla_data(tb[IFLA_ADDRESS])); in br_dev_newlink()
1505 spin_unlock_bh(&br->lock); in br_dev_newlink()
1573 struct net_bridge *br = netdev_priv(brdev); in br_fill_info() local
1574 u32 forward_delay = jiffies_to_clock_t(br->forward_delay); in br_fill_info()
1575 u32 hello_time = jiffies_to_clock_t(br->hello_time); in br_fill_info()
1576 u32 age_time = jiffies_to_clock_t(br->max_age); in br_fill_info()
1577 u32 ageing_time = jiffies_to_clock_t(br->ageing_time); in br_fill_info()
1578 u32 stp_enabled = br->stp_enabled; in br_fill_info()
1579 u16 priority = (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]; in br_fill_info()
1580 u8 vlan_enabled = br_vlan_enabled(br->dev); in br_fill_info()
1584 clockval = br_timer_value(&br->hello_timer); in br_fill_info()
1587 clockval = br_timer_value(&br->tcn_timer); in br_fill_info()
1590 clockval = br_timer_value(&br->topology_change_timer); in br_fill_info()
1594 clockval = br_timer_value(&br->gc_work.timer); in br_fill_info()
1598 br_boolopt_multi_get(br, &bm); in br_fill_info()
1606 nla_put_u16(skb, IFLA_BR_GROUP_FWD_MASK, br->group_fwd_mask) || in br_fill_info()
1608 &br->bridge_id) || in br_fill_info()
1610 &br->designated_root) || in br_fill_info()
1611 nla_put_u16(skb, IFLA_BR_ROOT_PORT, br->root_port) || in br_fill_info()
1612 nla_put_u32(skb, IFLA_BR_ROOT_PATH_COST, br->root_path_cost) || in br_fill_info()
1613 nla_put_u8(skb, IFLA_BR_TOPOLOGY_CHANGE, br->topology_change) || in br_fill_info()
1615 br->topology_change_detected) || in br_fill_info()
1616 nla_put(skb, IFLA_BR_GROUP_ADDR, ETH_ALEN, br->group_addr) || in br_fill_info()
1621 if (nla_put_be16(skb, IFLA_BR_VLAN_PROTOCOL, br->vlan_proto) || in br_fill_info()
1622 nla_put_u16(skb, IFLA_BR_VLAN_DEFAULT_PVID, br->default_pvid) || in br_fill_info()
1624 br_opt_get(br, BROPT_VLAN_STATS_ENABLED)) || in br_fill_info()
1626 br_opt_get(br, BROPT_VLAN_STATS_PER_PORT))) in br_fill_info()
1631 br->multicast_ctx.multicast_router) || in br_fill_info()
1633 br_opt_get(br, BROPT_MULTICAST_ENABLED)) || in br_fill_info()
1635 br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR)) || in br_fill_info()
1637 br->multicast_ctx.multicast_querier) || in br_fill_info()
1639 br_opt_get(br, BROPT_MULTICAST_STATS_ENABLED)) || in br_fill_info()
1641 nla_put_u32(skb, IFLA_BR_MCAST_HASH_MAX, br->hash_max) || in br_fill_info()
1643 br->multicast_ctx.multicast_last_member_count) || in br_fill_info()
1645 br->multicast_ctx.multicast_startup_query_count) || in br_fill_info()
1647 br->multicast_ctx.multicast_igmp_version) || in br_fill_info()
1648 br_multicast_dump_querier_state(skb, &br->multicast_ctx, in br_fill_info()
1653 br->multicast_ctx.multicast_mld_version)) in br_fill_info()
1656 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_last_member_interval); in br_fill_info()
1660 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_membership_interval); in br_fill_info()
1664 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_querier_interval); in br_fill_info()
1668 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_query_interval); in br_fill_info()
1672 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_query_response_interval); in br_fill_info()
1676 clockval = jiffies_to_clock_t(br->multicast_ctx.multicast_startup_query_interval); in br_fill_info()
1683 br_opt_get(br, BROPT_NF_CALL_IPTABLES) ? 1 : 0) || in br_fill_info()
1685 br_opt_get(br, BROPT_NF_CALL_IP6TABLES) ? 1 : 0) || in br_fill_info()
1687 br_opt_get(br, BROPT_NF_CALL_ARPTABLES) ? 1 : 0)) in br_fill_info()
1699 struct net_bridge *br; in br_get_linkxstats_size() local
1704 br = netdev_priv(dev); in br_get_linkxstats_size()
1705 vg = br_vlan_group(br); in br_get_linkxstats_size()
1737 struct net_bridge *br; in br_fill_linkxstats() local
1743 br = netdev_priv(dev); in br_fill_linkxstats()
1744 vg = br_vlan_group(br); in br_fill_linkxstats()
1750 br = p->br; in br_fill_linkxstats()
1794 br_multicast_get_stats(br, p, nla_data(nla)); in br_fill_linkxstats()
1805 spin_lock_bh(&br->lock); in br_fill_linkxstats()
1807 spin_unlock_bh(&br->lock); in br_fill_linkxstats()