Lines Matching refs:br
96 struct net_bridge *br; in br_get_link_af_size_filtered() local
106 br = netdev_priv(dev); in br_get_link_af_size_filtered()
107 vg = br_vlan_group_rcu(br); in br_get_link_af_size_filtered()
385 struct net_bridge *br; in br_fill_ifinfo() local
390 br = port->br; in br_fill_ifinfo()
392 br = netdev_priv(dev); in br_fill_ifinfo()
394 br_debug(br, "br_fill_info event %d port %s master %s\n", in br_fill_ifinfo()
395 event, dev->name, br->dev->name); in br_fill_ifinfo()
410 nla_put_u32(skb, IFLA_MASTER, br->dev->ifindex) || in br_fill_ifinfo()
447 vg = br_vlan_group_rcu(br); in br_fill_ifinfo()
468 if (!br_mrp_enabled(br) || port) in br_fill_ifinfo()
472 err = br_mrp_fill_info(skb, br); in br_fill_ifinfo()
491 void br_ifinfo_notify(int event, const struct net_bridge *br, in br_ifinfo_notify() argument
501 if (WARN_ON(!port && !br)) in br_ifinfo_notify()
506 br = port->br; in br_ifinfo_notify()
509 dev = br->dev; in br_ifinfo_notify()
513 br_debug(br, "port %u(%s) event %d\n", port_no, dev->name, event); in br_ifinfo_notify()
549 static int br_vlan_info(struct net_bridge *br, struct net_bridge_port *p, in br_vlan_info() argument
566 err = br_vlan_add(br, vinfo->vid, vinfo->flags, in br_vlan_info()
579 !br_vlan_delete(p->br, vinfo->vid)) in br_vlan_info()
581 } else if (!br_vlan_delete(br, vinfo->vid)) { in br_vlan_info()
590 int br_process_vlan_info(struct net_bridge *br, in br_process_vlan_info() argument
625 err = br_vlan_info(br, p, cmd, &tmp_vinfo, &curr_change, in br_process_vlan_info()
637 br_vlan_notify(br, p, v_change_start, in br_process_vlan_info()
645 br_vlan_notify(br, p, v_change_start, in br_process_vlan_info()
653 err = br_vlan_info(br, p, cmd, vinfo_curr, changed, extack); in br_process_vlan_info()
655 br_vlan_notify(br, p, vinfo_curr->vid, 0, rtm_cmd); in br_process_vlan_info()
660 static int br_afspec(struct net_bridge *br, in br_afspec() argument
682 err = br_process_vlan_tunnel_info(br, p, cmd, in br_afspec()
693 err = br_process_vlan_info(br, p, cmd, vinfo_curr, in br_afspec()
700 err = br_mrp_parse(br, p, attr, cmd, extack); in br_afspec()
740 if (p->br->stp_enabled == BR_KERNEL_STP) in br_set_port_state()
751 br_port_state_selection(p->br); in br_set_port_state()
856 br_fdb_delete_by_port(p->br, p, 0, 0); in br_setport()
910 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); in br_setlink() local
939 spin_lock_bh(&p->br->lock); in br_setlink()
941 spin_unlock_bh(&p->br->lock); in br_setlink()
947 spin_lock_bh(&p->br->lock); in br_setlink()
949 spin_unlock_bh(&p->br->lock); in br_setlink()
957 err = br_afspec(br, p, afspec, RTM_SETLINK, &changed, extack); in br_setlink()
960 br_ifinfo_notify(RTM_NEWLINK, br, p); in br_setlink()
968 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); in br_dellink() local
983 err = br_afspec(br, p, afspec, RTM_DELLINK, &changed, NULL); in br_dellink()
988 br_ifinfo_notify(RTM_NEWLINK, br, p); in br_dellink()
1034 struct net_bridge *br = netdev_priv(brdev); in br_port_slave_changelink() local
1040 spin_lock_bh(&br->lock); in br_port_slave_changelink()
1042 spin_unlock_bh(&br->lock); in br_port_slave_changelink()
1103 struct net_bridge *br = netdev_priv(brdev); in br_changelink() local
1110 err = br_set_forward_delay(br, nla_get_u32(data[IFLA_BR_FORWARD_DELAY])); in br_changelink()
1116 err = br_set_hello_time(br, nla_get_u32(data[IFLA_BR_HELLO_TIME])); in br_changelink()
1122 err = br_set_max_age(br, nla_get_u32(data[IFLA_BR_MAX_AGE])); in br_changelink()
1128 err = br_set_ageing_time(br, nla_get_u32(data[IFLA_BR_AGEING_TIME])); in br_changelink()
1136 err = br_stp_set_enabled(br, stp_enabled, extack); in br_changelink()
1144 br_stp_set_bridge_priority(br, priority); in br_changelink()
1150 err = __br_vlan_filter_toggle(br, vlan_filter); in br_changelink()
1159 err = __br_vlan_set_proto(br, vlan_proto); in br_changelink()
1167 err = __br_vlan_set_default_pvid(br, defpvid, extack); in br_changelink()
1175 err = br_vlan_set_stats(br, vlan_stats); in br_changelink()
1183 err = br_vlan_set_stats_per_port(br, per_port); in br_changelink()
1194 br->group_fwd_mask = fwd_mask; in br_changelink()
1209 spin_lock_bh(&br->lock); in br_changelink()
1210 memcpy(br->group_addr, new_addr, sizeof(br->group_addr)); in br_changelink()
1211 spin_unlock_bh(&br->lock); in br_changelink()
1212 br_opt_toggle(br, BROPT_GROUP_ADDR_SET, true); in br_changelink()
1213 br_recalculate_fwd_mask(br); in br_changelink()
1217 br_fdb_flush(br); in br_changelink()
1223 err = br_multicast_set_router(br, multicast_router); in br_changelink()
1231 br_multicast_toggle(br, mcast_snooping); in br_changelink()
1238 br_opt_toggle(br, BROPT_MULTICAST_QUERY_USE_IFADDR, !!val); in br_changelink()
1244 err = br_multicast_set_querier(br, mcast_querier); in br_changelink()
1250 br_warn(br, "the hash_elasticity option has been deprecated and is always %u\n", in br_changelink()
1254 br->hash_max = nla_get_u32(data[IFLA_BR_MCAST_HASH_MAX]); in br_changelink()
1259 br->multicast_last_member_count = val; in br_changelink()
1265 br->multicast_startup_query_count = val; in br_changelink()
1271 br->multicast_last_member_interval = clock_t_to_jiffies(val); in br_changelink()
1277 br->multicast_membership_interval = clock_t_to_jiffies(val); in br_changelink()
1283 br->multicast_querier_interval = clock_t_to_jiffies(val); in br_changelink()
1289 br->multicast_query_interval = clock_t_to_jiffies(val); in br_changelink()
1295 br->multicast_query_response_interval = clock_t_to_jiffies(val); in br_changelink()
1301 br->multicast_startup_query_interval = clock_t_to_jiffies(val); in br_changelink()
1308 br_opt_toggle(br, BROPT_MULTICAST_STATS_ENABLED, !!mcast_stats); in br_changelink()
1315 err = br_multicast_set_igmp_version(br, igmp_version); in br_changelink()
1325 err = br_multicast_set_mld_version(br, mld_version); in br_changelink()
1335 br_opt_toggle(br, BROPT_NF_CALL_IPTABLES, !!val); in br_changelink()
1341 br_opt_toggle(br, BROPT_NF_CALL_IP6TABLES, !!val); in br_changelink()
1347 br_opt_toggle(br, BROPT_NF_CALL_ARPTABLES, !!val); in br_changelink()
1355 err = br_boolopt_multi_toggle(br, bm, extack); in br_changelink()
1367 struct net_bridge *br = netdev_priv(dev); in br_dev_newlink() local
1375 spin_lock_bh(&br->lock); in br_dev_newlink()
1376 br_stp_change_bridge_id(br, nla_data(tb[IFLA_ADDRESS])); in br_dev_newlink()
1377 spin_unlock_bh(&br->lock); in br_dev_newlink()
1444 struct net_bridge *br = netdev_priv(brdev); in br_fill_info() local
1445 u32 forward_delay = jiffies_to_clock_t(br->forward_delay); in br_fill_info()
1446 u32 hello_time = jiffies_to_clock_t(br->hello_time); in br_fill_info()
1447 u32 age_time = jiffies_to_clock_t(br->max_age); in br_fill_info()
1448 u32 ageing_time = jiffies_to_clock_t(br->ageing_time); in br_fill_info()
1449 u32 stp_enabled = br->stp_enabled; in br_fill_info()
1450 u16 priority = (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]; in br_fill_info()
1451 u8 vlan_enabled = br_vlan_enabled(br->dev); in br_fill_info()
1455 clockval = br_timer_value(&br->hello_timer); in br_fill_info()
1458 clockval = br_timer_value(&br->tcn_timer); in br_fill_info()
1461 clockval = br_timer_value(&br->topology_change_timer); in br_fill_info()
1465 clockval = br_timer_value(&br->gc_work.timer); in br_fill_info()
1469 br_boolopt_multi_get(br, &bm); in br_fill_info()
1477 nla_put_u16(skb, IFLA_BR_GROUP_FWD_MASK, br->group_fwd_mask) || in br_fill_info()
1479 &br->bridge_id) || in br_fill_info()
1481 &br->designated_root) || in br_fill_info()
1482 nla_put_u16(skb, IFLA_BR_ROOT_PORT, br->root_port) || in br_fill_info()
1483 nla_put_u32(skb, IFLA_BR_ROOT_PATH_COST, br->root_path_cost) || in br_fill_info()
1484 nla_put_u8(skb, IFLA_BR_TOPOLOGY_CHANGE, br->topology_change) || in br_fill_info()
1486 br->topology_change_detected) || in br_fill_info()
1487 nla_put(skb, IFLA_BR_GROUP_ADDR, ETH_ALEN, br->group_addr) || in br_fill_info()
1492 if (nla_put_be16(skb, IFLA_BR_VLAN_PROTOCOL, br->vlan_proto) || in br_fill_info()
1493 nla_put_u16(skb, IFLA_BR_VLAN_DEFAULT_PVID, br->default_pvid) || in br_fill_info()
1495 br_opt_get(br, BROPT_VLAN_STATS_ENABLED)) || in br_fill_info()
1497 br_opt_get(br, BROPT_VLAN_STATS_PER_PORT))) in br_fill_info()
1501 if (nla_put_u8(skb, IFLA_BR_MCAST_ROUTER, br->multicast_router) || in br_fill_info()
1503 br_opt_get(br, BROPT_MULTICAST_ENABLED)) || in br_fill_info()
1505 br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR)) || in br_fill_info()
1507 br_opt_get(br, BROPT_MULTICAST_QUERIER)) || in br_fill_info()
1509 br_opt_get(br, BROPT_MULTICAST_STATS_ENABLED)) || in br_fill_info()
1511 nla_put_u32(skb, IFLA_BR_MCAST_HASH_MAX, br->hash_max) || in br_fill_info()
1513 br->multicast_last_member_count) || in br_fill_info()
1515 br->multicast_startup_query_count) || in br_fill_info()
1517 br->multicast_igmp_version)) in br_fill_info()
1521 br->multicast_mld_version)) in br_fill_info()
1524 clockval = jiffies_to_clock_t(br->multicast_last_member_interval); in br_fill_info()
1528 clockval = jiffies_to_clock_t(br->multicast_membership_interval); in br_fill_info()
1532 clockval = jiffies_to_clock_t(br->multicast_querier_interval); in br_fill_info()
1536 clockval = jiffies_to_clock_t(br->multicast_query_interval); in br_fill_info()
1540 clockval = jiffies_to_clock_t(br->multicast_query_response_interval); in br_fill_info()
1544 clockval = jiffies_to_clock_t(br->multicast_startup_query_interval); in br_fill_info()
1551 br_opt_get(br, BROPT_NF_CALL_IPTABLES) ? 1 : 0) || in br_fill_info()
1553 br_opt_get(br, BROPT_NF_CALL_IP6TABLES) ? 1 : 0) || in br_fill_info()
1555 br_opt_get(br, BROPT_NF_CALL_ARPTABLES) ? 1 : 0)) in br_fill_info()
1567 struct net_bridge *br; in br_get_linkxstats_size() local
1572 br = netdev_priv(dev); in br_get_linkxstats_size()
1573 vg = br_vlan_group(br); in br_get_linkxstats_size()
1579 br = p->br; in br_get_linkxstats_size()
1606 struct net_bridge *br; in br_fill_linkxstats() local
1612 br = netdev_priv(dev); in br_fill_linkxstats()
1613 vg = br_vlan_group(br); in br_fill_linkxstats()
1619 br = p->br; in br_fill_linkxstats()
1663 br_multicast_get_stats(br, p, nla_data(nla)); in br_fill_linkxstats()
1674 spin_lock_bh(&br->lock); in br_fill_linkxstats()
1676 spin_unlock_bh(&br->lock); in br_fill_linkxstats()