| /linux/net/bridge/ |
| H A D | br_stp.c | 46 if (br_opt_get(p->br, BROPT_MST_ENABLED)) { in br_set_state() 49 br_warn(p->br, "error setting MST state on port %u(%s)\n", in br_set_state() 54 br_warn(p->br, "error setting offload STP state on port %u(%s)\n", in br_set_state() 57 br_info(p->br, "port %u(%s) entered %s state\n", in br_set_state() 61 if (p->br->stp_enabled == BR_KERNEL_STP) { in br_set_state() 88 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no) in br_get_port() argument 92 list_for_each_entry_rcu(p, &br->port_list, list, in br_get_port() 93 lockdep_is_held(&br->lock)) { in br_get_port() 105 struct net_bridge *br; in br_should_become_root_port() local 109 br = p->br; in br_should_become_root_port() [all …]
|
| H A D | br_stp_timer.c | 17 static int br_is_designated_for_some_port(const struct net_bridge *br) in br_is_designated_for_some_port() argument 21 list_for_each_entry(p, &br->port_list, list) { in br_is_designated_for_some_port() 23 !memcmp(&p->designated_bridge, &br->bridge_id, 8)) in br_is_designated_for_some_port() 32 struct net_bridge *br = timer_container_of(br, t, hello_timer); in br_hello_timer_expired() local 34 br_debug(br, "hello timer expired\n"); in br_hello_timer_expired() 35 spin_lock(&br->lock); in br_hello_timer_expired() 36 if (br->dev->flags & IFF_UP) { in br_hello_timer_expired() 37 br_config_bpdu_generation(br); in br_hello_timer_expired() 39 if (br->stp_enabled == BR_KERNEL_STP) in br_hello_timer_expired() 40 mod_timer(&br->hello_timer, in br_hello_timer_expired() [all …]
|
| H A D | br_device.c | 34 struct net_bridge *br = netdev_priv(dev); in br_dev_xmit() local 35 struct net_bridge_mcast *brmctx = &br->multicast_ctx; in br_dev_xmit() 68 if (!br_allowed_ingress(br, br_vlan_group_rcu(br), skb, &vid, in br_dev_xmit() 75 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) { in br_dev_xmit() 76 br_do_proxy_suppress_arp(skb, br, vid, NULL); in br_dev_xmit() 79 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) && in br_dev_xmit() 87 br_do_suppress_nd(skb, br, vid, NULL, msg); in br_dev_xmit() 92 br_flood(br, skb, BR_PKT_BROADCAST, false, true, vid); in br_dev_xmit() 95 br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); in br_dev_xmit() 108 br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); in br_dev_xmit() [all …]
|
| H A D | br_if.c | 76 struct net_bridge *br = p->br; in br_port_carrier_check() local 83 if (!netif_running(br->dev)) in br_port_carrier_check() 86 spin_lock_bh(&br->lock); in br_port_carrier_check() 98 spin_unlock_bh(&br->lock); in br_port_carrier_check() 112 br_fdb_unsync_static(p->br, p); in br_port_set_promisc() 131 err = br_fdb_sync_static(p->br, p); in br_port_clear_promisc() 144 void br_manage_promisc(struct net_bridge *br) in br_manage_promisc() argument 152 if ((br->dev->flags & IFF_PROMISC) || !br_vlan_enabled(br->dev)) in br_manage_promisc() 155 list_for_each_entry(p, &br->port_list, list) { in br_manage_promisc() 170 (br->auto_cnt == 0 || in br_manage_promisc() [all …]
|
| H A D | br_fdb.c | 50 int br_fdb_hash_init(struct net_bridge *br) in br_fdb_hash_init() argument 52 return rhashtable_init(&br->fdb_hash_tbl, &br_fdb_rht_params); in br_fdb_hash_init() 55 void br_fdb_hash_fini(struct net_bridge *br) in br_fdb_hash_fini() argument 57 rhashtable_destroy(&br->fdb_hash_tbl); in br_fdb_hash_fini() 63 static inline unsigned long hold_time(const struct net_bridge *br) in hold_time() argument 65 return br->topology_change ? br->forward_delay : br->ageing_time; in hold_time() 68 static inline int has_expired(const struct net_bridge *br, in has_expired() argument 73 time_before_eq(READ_ONCE(fdb->updated) + hold_time(br), jiffies); in has_expired() 76 static int fdb_to_nud(const struct net_bridge *br, in fdb_to_nud() argument 83 else if (has_expired(br, fdb)) in fdb_to_nud() [all …]
|
| H A D | br.c | 34 struct net_bridge *br; in br_device_event() local 40 struct net_bridge *br = netdev_priv(dev); in br_device_event() local 43 br_fdb_change_mac_address(br, dev->dev_addr); in br_device_event() 71 br = p->br; in br_device_event() 75 br_mtu_auto_adjust(br); in br_device_event() 79 if (br->dev->addr_assign_type == NET_ADDR_SET) in br_device_event() 82 err = netif_pre_changeaddr_notify(br->dev, in br_device_event() 90 spin_lock_bh(&br->lock); in br_device_event() 92 changed_addr = br_stp_recalculate_bridge_id(br); in br_device_event() 93 spin_unlock_bh(&br->lock); in br_device_event() [all …]
|
| H A D | br_mrp_switchdev.c | 8 br_mrp_switchdev_port_obj(struct net_bridge *br, in br_mrp_switchdev_port_obj() argument 14 err = switchdev_port_obj_add(br->dev, obj, NULL); in br_mrp_switchdev_port_obj() 16 err = switchdev_port_obj_del(br->dev, obj); in br_mrp_switchdev_port_obj() 31 int br_mrp_switchdev_add(struct net_bridge *br, struct br_mrp *mrp) in br_mrp_switchdev_add() argument 34 .obj.orig_dev = br->dev, in br_mrp_switchdev_add() 45 return switchdev_port_obj_add(br->dev, &mrp_obj.obj, NULL); in br_mrp_switchdev_add() 48 int br_mrp_switchdev_del(struct net_bridge *br, struct br_mrp *mrp) in br_mrp_switchdev_del() argument 51 .obj.orig_dev = br->dev, in br_mrp_switchdev_del() 61 return switchdev_port_obj_del(br->dev, &mrp_obj.obj); in br_mrp_switchdev_del() 65 br_mrp_switchdev_set_ring_role(struct net_bridge *br, struct br_mrp *mrp, in br_mrp_switchdev_set_ring_role() argument [all …]
|
| H A D | br_mrp.c | 36 static struct net_bridge_port *br_mrp_get_port(struct net_bridge *br, in br_mrp_get_port() argument 42 list_for_each_entry(port, &br->port_list, list) { in br_mrp_get_port() 52 static struct br_mrp *br_mrp_find_id(struct net_bridge *br, u32 ring_id) in br_mrp_find_id() argument 57 hlist_for_each_entry_rcu(mrp, &br->mrp_list, list, in br_mrp_find_id() 68 static struct br_mrp *br_mrp_find_in_id(struct net_bridge *br, u32 in_id) in br_mrp_find_in_id() argument 73 hlist_for_each_entry_rcu(mrp, &br->mrp_list, list, in br_mrp_find_in_id() 84 static bool br_mrp_unique_ifindex(struct net_bridge *br, u32 ifindex) in br_mrp_unique_ifindex() argument 88 hlist_for_each_entry_rcu(mrp, &br->mrp_list, list, in br_mrp_unique_ifindex() 108 static struct br_mrp *br_mrp_find_port(struct net_bridge *br, in br_mrp_find_port() argument 114 hlist_for_each_entry_rcu(mrp, &br->mrp_list, list, in br_mrp_find_port() [all …]
|
| H A D | br_ioctl.c | 39 static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num) in get_port_ifindices() argument 43 list_for_each_entry(p, &br->port_list, list) { in get_port_ifindices() 56 static int get_fdb_entries(struct net_bridge *br, void __user *userbuf, in get_fdb_entries() argument 73 num = br_fdb_fillbuf(br, buf, maxnum, offset); in get_fdb_entries() 85 static int add_del_if(struct net_bridge *br, int ifindex, int isadd) in add_del_if() argument 87 struct net *net = dev_net(br->dev); in add_del_if() 99 ret = br_add_if(br, dev, NULL); in add_del_if() 101 ret = br_del_if(br, dev); in add_del_if() 147 struct net_bridge *br = netdev_priv(dev); in br_dev_siocdevprivate() local 160 return add_del_if(br, args[1], args[0] == BRCTL_ADD_IF); in br_dev_siocdevprivate() [all …]
|
| H A D | br_netlink.c | 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() 461 struct net_bridge *br; in br_fill_ifinfo() local 466 br = port->br; in br_fill_ifinfo() 468 br = netdev_priv(dev); in br_fill_ifinfo() 470 br_debug(br, "br_fill_ifinfo event %d port %s master %s\n", in br_fill_ifinfo() [all …]
|
| H A D | br_private.h | 104 struct net_bridge *br; member 140 struct net_bridge *br; member 225 struct net_bridge *br; member 341 struct net_bridge *br; member 375 struct net_bridge *br; member 388 struct net_bridge *br; member 638 #define br_printk(level, br, format, args...) \ argument 639 printk(level "%s: " format, (br)->dev->name, ##args) 650 #define br_debug(br, format, args...) \ argument 651 pr_debug("%s: " format, (br)->dev->name, ##args) [all …]
|
| H A D | br_multicast.c | 82 static void br_multicast_find_del_pg(struct net_bridge *br, 90 br_sg_port_find(struct net_bridge *br, in br_sg_port_find() argument 93 lockdep_assert_held_once(&br->multicast_lock); in br_sg_port_find() 95 return rhashtable_lookup_fast(&br->sg_port_tbl, sg_p, in br_sg_port_find() 99 static struct net_bridge_mdb_entry *br_mdb_ip_get_rcu(struct net_bridge *br, in br_mdb_ip_get_rcu() argument 102 return rhashtable_lookup(&br->mdb_hash_tbl, dst, br_mdb_rht_params); in br_mdb_ip_get_rcu() 105 struct net_bridge_mdb_entry *br_mdb_ip_get(struct net_bridge *br, in br_mdb_ip_get() argument 110 lockdep_assert_held_once(&br->multicast_lock); in br_mdb_ip_get() 113 ent = rhashtable_lookup(&br->mdb_hash_tbl, dst, br_mdb_rht_params); in br_mdb_ip_get() 119 static struct net_bridge_mdb_entry *br_mdb_ip4_get(struct net_bridge *br, in br_mdb_ip4_get() argument [all …]
|
| H A D | br_input.c | 36 struct net_bridge *br = netdev_priv(brdev); in br_pass_frame_up() local 41 vg = br_vlan_group_rcu(br); in br_pass_frame_up() 61 skb = br_handle_vlan(br, NULL, vg, skb); in br_pass_frame_up() 65 br_multicast_count(br, NULL, skb, br_multicast_igmp_type(skb), in br_pass_frame_up() 87 struct net_bridge *br; in br_handle_frame_finish() local 95 br = p->br; in br_handle_frame_finish() 108 brmctx = &p->br->multicast_ctx; in br_handle_frame_finish() 110 if (!br_allowed_ingress(p->br, nbp_vlan_group_rcu(p), skb, &vid, in br_handle_frame_finish() 116 br_fdb_find_rcu(br, eth_hdr(skb)->h_source, vid); in br_handle_frame_finish() 123 br_fdb_update(br, p, eth_hdr(skb)->h_source, in br_handle_frame_finish() [all …]
|
| H A D | br_cfm.c | 7 static struct br_cfm_mep *br_mep_find(struct net_bridge *br, u32 instance) in br_mep_find() argument 11 hlist_for_each_entry(mep, &br->mep_list, head) in br_mep_find() 18 static struct br_cfm_mep *br_mep_find_ifindex(struct net_bridge *br, in br_mep_find_ifindex() argument 23 hlist_for_each_entry_rcu(mep, &br->mep_list, head, in br_mep_find_ifindex() 44 static struct net_bridge_port *br_mep_get_port(struct net_bridge *br, in br_mep_get_port() argument 49 list_for_each_entry(port, &br->port_list, list) in br_mep_get_port() 145 br_info_notify(event, port->br, NULL, filter); in br_cfm_notify() 379 struct net_bridge *br; in br_cfm_frame_rx() local 392 br = port->br; in br_cfm_frame_rx() 393 mep = br_mep_find_ifindex(br, port->dev->ifindex); in br_cfm_frame_rx() [all …]
|
| H A D | br_private_mrp.h | 66 int br_mrp_add(struct net_bridge *br, struct br_mrp_instance *instance); 67 int br_mrp_del(struct net_bridge *br, struct br_mrp_instance *instance); 72 int br_mrp_set_ring_state(struct net_bridge *br, 74 int br_mrp_set_ring_role(struct net_bridge *br, struct br_mrp_ring_role *role); 75 int br_mrp_start_test(struct net_bridge *br, struct br_mrp_start_test *test); 76 int br_mrp_set_in_state(struct net_bridge *br, struct br_mrp_in_state *state); 77 int br_mrp_set_in_role(struct net_bridge *br, struct br_mrp_in_role *role); 78 int br_mrp_start_in_test(struct net_bridge *br, 82 int br_mrp_switchdev_add(struct net_bridge *br, struct br_mrp *mrp); 83 int br_mrp_switchdev_del(struct net_bridge *br, struct br_mrp *mrp); [all …]
|
| H A D | br_mdb.c | 86 list_for_each_entry_rcu(p, &brmctx->br->port_list, list) { in br_rports_fill_info() 190 lockdep_is_held(&p->key.port->br->multicast_lock)) { in __mdb_fill_srcs() 249 ifindex = mp->br->dev->ifindex; in __mdb_fill_info() 280 dump_srcs_mode = !!(mp->br->multicast_ctx.multicast_igmp_version == 3); in __mdb_fill_info() 290 dump_srcs_mode = !!(mp->br->multicast_ctx.multicast_mld_version == 2); in __mdb_fill_info() 324 struct net_bridge *br = netdev_priv(dev); in br_mdb_fill_info() local 332 hlist_for_each_entry_rcu(mp, &br->mdb_list, mdb_node) { in br_mdb_fill_info() 385 struct net_bridge *br = netdev_priv(dev); in br_mdb_dump() local 405 err = br_rports_fill_info(skb, &br->multicast_ctx); in br_mdb_dump() 476 if (pg->key.port->br->multicast_ctx.multicast_igmp_version == 2) in rtnl_mdb_nlmsg_pg_size() [all …]
|
| H A D | br_mrp_netlink.c | 31 static int br_mrp_instance_parse(struct net_bridge *br, struct nlattr *attr, in br_mrp_instance_parse() argument 62 return br_mrp_add(br, &inst); in br_mrp_instance_parse() 64 return br_mrp_del(br, &inst); in br_mrp_instance_parse() 134 static int br_mrp_ring_state_parse(struct net_bridge *br, struct nlattr *attr, in br_mrp_ring_state_parse() argument 158 return br_mrp_set_ring_state(br, &state); in br_mrp_ring_state_parse() 168 static int br_mrp_ring_role_parse(struct net_bridge *br, struct nlattr *attr, in br_mrp_ring_role_parse() argument 192 return br_mrp_set_ring_role(br, &role); in br_mrp_ring_role_parse() 205 static int br_mrp_start_test_parse(struct net_bridge *br, struct nlattr *attr, in br_mrp_start_test_parse() argument 238 return br_mrp_start_test(br, &test); in br_mrp_start_test_parse() 248 static int br_mrp_in_state_parse(struct net_bridge *br, struct nlattr *attr, in br_mrp_in_state_parse() argument [all …]
|
| H A D | br_cfm_netlink.c | 90 static int br_mep_create_parse(struct net_bridge *br, struct nlattr *attr, in br_mep_create_parse() argument 127 return br_cfm_mep_create(br, instance, &create, extack); in br_mep_create_parse() 130 static int br_mep_delete_parse(struct net_bridge *br, struct nlattr *attr, in br_mep_delete_parse() argument 150 return br_cfm_mep_delete(br, instance, extack); in br_mep_delete_parse() 153 static int br_mep_config_parse(struct net_bridge *br, struct nlattr *attr, in br_mep_config_parse() argument 192 return br_cfm_mep_config_set(br, instance, &config, extack); in br_mep_config_parse() 195 static int br_cc_config_parse(struct net_bridge *br, struct nlattr *attr, in br_cc_config_parse() argument 233 return br_cfm_cc_config_set(br, instance, &config, extack); in br_cc_config_parse() 236 static int br_cc_peer_mep_add_parse(struct net_bridge *br, struct nlattr *attr, in br_cc_peer_mep_add_parse() argument 260 return br_cfm_cc_peer_mep_add(br, instance, peer_mep_id, extack); in br_cc_peer_mep_add_parse() [all …]
|
| H A D | br_mst.c | 25 void br_mst_uninit(struct net_bridge *br) in br_mst_uninit() argument 27 if (br_opt_get(br, BROPT_MST_ENABLED)) in br_mst_uninit() 35 const struct net_bridge *br; in br_mst_get_info() local 42 br = netdev_priv(dev); in br_mst_get_info() 43 if (!br_opt_get(br, BROPT_MST_ENABLED)) in br_mst_get_info() 46 vg = br_vlan_group(br); in br_mst_get_info() 66 if (!p || !br_opt_get(p->br, BROPT_MST_ENABLED)) in br_mst_get_state() 161 .orig_dev = mv->br->dev, in br_mst_vlan_set_msti() 175 err = switchdev_port_attr_set(mv->br->dev, &attr, NULL); in br_mst_vlan_set_msti() 181 list_for_each_entry(p, &mv->br->port_list, list) { in br_mst_vlan_set_msti() [all …]
|
| H A D | br_arp_nd_proxy.c | 26 void br_recalculate_neigh_suppress_enabled(struct net_bridge *br) in br_recalculate_neigh_suppress_enabled() argument 31 list_for_each_entry(p, &br->port_list, list) { in br_recalculate_neigh_suppress_enabled() 38 br_opt_toggle(br, BROPT_NEIGH_SUPPRESS_ENABLED, neigh_suppress); in br_recalculate_neigh_suppress_enabled() 42 static void br_arp_send(struct net_bridge *br, struct net_bridge_port *p, in br_arp_send() argument 70 vg = br_vlan_group_rcu(br); in br_arp_send() 124 void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br, in br_do_proxy_suppress_arp() argument 127 struct net_device *dev = br->dev; in br_do_proxy_suppress_arp() 159 if (br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) { in br_do_proxy_suppress_arp() 178 vlandev = __vlan_find_dev_deep_rcu(br->dev, skb->vlan_proto, in br_do_proxy_suppress_arp() 184 if (br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) && in br_do_proxy_suppress_arp() [all …]
|
| /linux/drivers/base/regmap/ |
| H A D | regmap-spi-avmm.c | 178 static int br_trans_tx_prepare(struct spi_avmm_bridge *br, bool is_read, u32 reg, in br_trans_tx_prepare() argument 199 header = (struct trans_req_header *)br->trans_buf; in br_trans_tx_prepare() 209 if (trans_len > sizeof(br->trans_buf)) in br_trans_tx_prepare() 212 data = (__le32 *)(br->trans_buf + TRANS_REQ_HD_SIZE); in br_trans_tx_prepare() 219 br->trans_len = trans_len; in br_trans_tx_prepare() 247 static int br_pkt_phy_tx_prepare(struct spi_avmm_bridge *br) in br_pkt_phy_tx_prepare() argument 253 tb = br->trans_buf; in br_pkt_phy_tx_prepare() 254 tb_end = tb + br->trans_len; in br_pkt_phy_tx_prepare() 255 pb = br->phy_buf; in br_pkt_phy_tx_prepare() 256 pb_limit = pb + ARRAY_SIZE(br->phy_buf); in br_pkt_phy_tx_prepare() [all …]
|
| /linux/drivers/clk/qcom/ |
| H A D | clk-branch.c | 17 static bool clk_branch_in_hwcg_mode(const struct clk_branch *br) in clk_branch_in_hwcg_mode() argument 21 if (!br->hwcg_reg) in clk_branch_in_hwcg_mode() 24 regmap_read(br->clkr.regmap, br->hwcg_reg, &val); in clk_branch_in_hwcg_mode() 26 return !!(val & BIT(br->hwcg_bit)); in clk_branch_in_hwcg_mode() 29 static bool clk_branch_check_halt(const struct clk_branch *br, bool enabling) in clk_branch_check_halt() argument 31 bool invert = (br->halt_check & BRANCH_HALT_ENABLE); in clk_branch_check_halt() 34 regmap_read(br->clkr.regmap, br->halt_reg, &val); in clk_branch_check_halt() 36 val &= BIT(br->halt_bit); in clk_branch_check_halt() 43 static bool clk_branch2_check_halt(const struct clk_branch *br, bool enabling) in clk_branch2_check_halt() argument 47 bool invert = (br->halt_check & BRANCH_HALT_ENABLE); in clk_branch2_check_halt() [all …]
|
| /linux/tools/testing/selftests/net/ |
| H A D | vlan_bridge_binding.sh | 21 adf_ip_link_add br up type bridge vlan_filtering 1 27 adf_ip_link_set_master $port br 30 adf_bridge_vlan_add vid 11 dev br self 33 adf_bridge_vlan_add vid 12 dev br self 36 adf_bridge_vlan_add vid 13 dev br self 40 adf_bridge_vlan_add vid 14 dev br self 82 add_one_vlan br 11 "$@" 83 add_one_vlan br 12 "$@" 84 add_one_vlan br 13 "$@" 85 add_one_vlan br 14 "$@" [all …]
|
| /linux/arch/nios2/kernel/ |
| H A D | entry.S | 241 br translate_rc_and_ret 294 br ret_from_exception 299 br translate_rc_and_ret2 310 br ret_from_exception 328 br local_restart /* restart syscall */ 332 br ret_from_exception 387 br restore_all 429 br ret_from_exception 434 br ret_from_exception 438 br ret_from_exception [all …]
|
| /linux/tools/perf/pmu-events/ |
| H A D | amd_metrics.py | 24 br = Event("ex_ret_brn") 30 br_r = d_ratio(br, interval_sec) 31 ins_r = d_ratio(ins, br) 32 misp_r = d_ratio(br_m_all, br) 52 br = Event("ex_ret_brn_tkn") 54 br_r = d_ratio(br, interval_sec) 55 ins_r = d_ratio(ins, br) 56 misp_r = d_ratio(br_m_tk, br) 74 br = Event("ex_ret_brn_cond", "ex_ret_cond") 75 br_r = d_ratio(br, interval_sec) [all …]
|