| /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_if.c | 43 err = __set_ageing_time(p->dev, p->br->ageing_time); in br_init_port() 49 void br_stp_enable_bridge(struct net_bridge *br) in br_stp_enable_bridge() argument 53 spin_lock_bh(&br->lock); in br_stp_enable_bridge() 54 if (br->stp_enabled == BR_KERNEL_STP) in br_stp_enable_bridge() 55 mod_timer(&br->hello_timer, jiffies + br->hello_time); in br_stp_enable_bridge() 56 mod_delayed_work(system_long_wq, &br->gc_work, HZ / 10); in br_stp_enable_bridge() 58 br_config_bpdu_generation(br); in br_stp_enable_bridge() 60 list_for_each_entry(p, &br->port_list, list) { in br_stp_enable_bridge() 65 spin_unlock_bh(&br in br_stp_enable_bridge() 69 br_stp_disable_bridge(struct net_bridge * br) br_stp_disable_bridge() argument 101 struct net_bridge *br = p->br; br_stp_disable_port() local 128 br_stp_call_user(struct net_bridge * br,char * arg) br_stp_call_user() argument 148 br_stp_start(struct net_bridge * br) br_stp_start() argument 181 br_stp_stop(struct net_bridge * br) br_stp_stop() argument 199 br_stp_set_enabled(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) br_stp_set_enabled() argument 222 br_stp_change_bridge_id(struct net_bridge * br,const unsigned char * addr) br_stp_change_bridge_id() argument 256 br_stp_recalculate_bridge_id(struct net_bridge * br) br_stp_recalculate_bridge_id() argument 282 br_stp_set_bridge_priority(struct net_bridge * br,u16 newprio) br_stp_set_bridge_priority() argument [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, sk in br_dev_xmit() 121 struct net_bridge *br = netdev_priv(dev); br_dev_init() local 155 struct net_bridge *br = netdev_priv(dev); br_dev_uninit() local 166 struct net_bridge *br = netdev_priv(dev); br_dev_open() local 191 struct net_bridge *br = netdev_priv(dev); br_dev_stop() local 206 struct net_bridge *br = netdev_priv(dev); br_change_mtu() local 223 struct net_bridge *br = netdev_priv(dev); br_set_mac_address() local 256 struct net_bridge *br = netdev_priv(dev); br_get_link_ksettings() local 287 struct net_bridge *br = netdev_priv(dev); br_fix_features() local 299 struct net_bridge *br = netdev_priv(dev); br_netpoll_cleanup() local 335 struct net_bridge *br = netdev_priv(dev); br_netpoll_setup() local 373 struct net_bridge *br = netdev_priv(dev); br_add_slave() local 380 struct net_bridge *br = netdev_priv(dev); br_del_slave() local 390 struct net_bridge *br; br_fill_forward_path() local 482 struct net_bridge *br = netdev_priv(dev); br_dev_setup() local [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 in br_manage_promisc() 231 nbp_update_port_count(struct net_bridge * br) nbp_update_port_count() argument 299 get_max_headroom(struct net_bridge * br) get_max_headroom() argument 314 update_headroom(struct net_bridge * br,int new_hr) update_headroom() argument 335 struct net_bridge *br = p->br; del_nbp() local 382 struct net_bridge *br = netdev_priv(dev); br_dev_delete() local 401 find_portno(struct net_bridge * br) find_portno() argument 422 new_nbp(struct net_bridge * br,struct net_device * dev) new_nbp() argument 502 br_mtu_min(const struct net_bridge * br) br_mtu_min() argument 514 br_mtu_auto_adjust(struct net_bridge * br) br_mtu_auto_adjust() argument 532 br_features_recompute(struct net_bridge * br,netdev_features_t features) br_features_recompute() argument 554 br_add_if(struct net_bridge * br,struct net_device * dev,struct netlink_ext_ack * extack) br_add_if() argument 713 br_del_if(struct net_bridge * br,struct net_device * dev) br_del_if() argument 744 struct net_bridge *br = p->br; br_port_flags_change() local [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_sysfs_br.c | 34 int (*set)(struct net_bridge *br, unsigned long val, in store_bridge_parm() 37 struct net_bridge *br = to_bridge(d); in store_bridge_parm() 42 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) in store_bridge_parm() 52 err = (*set)(br, val, &extack); in store_bridge_parm() 54 netdev_state_change(br->dev); in store_bridge_parm() 57 br_err(br, "%s\n", extack._msg); in store_bridge_parm() 59 br_warn(br, "%s\n", extack._msg); in store_bridge_parm() 70 struct net_bridge *br = to_bridge(d); in forward_delay_show() 71 return sysfs_emit(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay)); in forward_delay_show() 74 static int set_forward_delay(struct net_bridge *br, unsigne in set_forward_delay() 33 store_bridge_parm(struct device * d,const char * buf,size_t len,int (* set)(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack)) store_bridge_parm() argument 36 struct net_bridge *br = to_bridge(d); store_bridge_parm() local 69 struct net_bridge *br = to_bridge(d); forward_delay_show() local 73 set_forward_delay(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_forward_delay() argument 94 set_hello_time(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_hello_time() argument 115 set_max_age(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_max_age() argument 131 struct net_bridge *br = to_bridge(d); ageing_time_show() local 135 set_ageing_time(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_ageing_time() argument 152 struct net_bridge *br = to_bridge(d); stp_state_show() local 157 set_stp_state(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_stp_state() argument 175 struct net_bridge *br = to_bridge(d); group_fwd_mask_show() local 179 set_group_fwd_mask(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_group_fwd_mask() argument 202 struct net_bridge *br = to_bridge(d); priority_show() local 207 set_priority(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_priority() argument 260 struct net_bridge *br = to_bridge(d); topology_change_detected_show() local 268 struct net_bridge *br = to_bridge(d); hello_timer_show() local 276 struct net_bridge *br = to_bridge(d); tcn_timer_show() local 285 struct net_bridge *br = to_bridge(d); topology_change_timer_show() local 293 struct net_bridge *br = to_bridge(d); gc_timer_show() local 301 struct net_bridge *br = to_bridge(d); group_addr_show() local 309 struct net_bridge *br = to_bridge(d); group_addr_store() local 344 set_flush(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_flush() argument 367 struct net_bridge *br = to_bridge(d); no_linklocal_learn_show() local 371 set_no_linklocal_learn(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_no_linklocal_learn() argument 389 struct net_bridge *br = to_bridge(d); multicast_router_show() local 393 set_multicast_router(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_multicast_router() argument 411 struct net_bridge *br = to_bridge(d); multicast_snooping_show() local 427 struct net_bridge *br = to_bridge(d); multicast_query_use_ifaddr_show() local 432 set_query_use_ifaddr(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_query_use_ifaddr() argument 452 struct net_bridge *br = to_bridge(d); multicast_querier_show() local 456 set_multicast_querier(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_multicast_querier() argument 476 set_elasticity(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_elasticity() argument 496 struct net_bridge *br = to_bridge(d); hash_max_show() local 500 set_hash_max(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_hash_max() argument 518 struct net_bridge *br = to_bridge(d); multicast_igmp_version_show() local 523 set_multicast_igmp_version(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_multicast_igmp_version() argument 541 struct net_bridge *br = to_bridge(d); multicast_last_member_count_show() local 545 set_last_member_count(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_last_member_count() argument 563 struct net_bridge *br = to_bridge(d); multicast_startup_query_count_show() local 567 set_startup_query_count(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_startup_query_count() argument 585 struct net_bridge *br = to_bridge(d); multicast_last_member_interval_show() local 590 set_last_member_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_last_member_interval() argument 608 struct net_bridge *br = to_bridge(d); multicast_membership_interval_show() local 613 set_membership_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_membership_interval() argument 632 struct net_bridge *br = to_bridge(d); multicast_querier_interval_show() local 637 set_querier_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_querier_interval() argument 656 struct net_bridge *br = to_bridge(d); multicast_query_interval_show() local 661 set_query_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_query_interval() argument 679 struct net_bridge *br = to_bridge(d); multicast_query_response_interval_show() local 685 set_query_response_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_query_response_interval() argument 703 struct net_bridge *br = to_bridge(d); multicast_startup_query_interval_show() local 709 set_startup_query_interval(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_startup_query_interval() argument 728 struct net_bridge *br = to_bridge(d); multicast_stats_enabled_show() local 734 set_stats_enabled(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_stats_enabled() argument 755 struct net_bridge *br = to_bridge(d); multicast_mld_version_show() local 760 set_multicast_mld_version(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_multicast_mld_version() argument 779 struct net_bridge *br = to_bridge(d); nf_call_iptables_show() local 783 set_nf_call_iptables(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_nf_call_iptables() argument 801 struct net_bridge *br = to_bridge(d); nf_call_ip6tables_show() local 805 set_nf_call_ip6tables(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_nf_call_ip6tables() argument 823 struct net_bridge *br = to_bridge(d); nf_call_arptables_show() local 827 set_nf_call_arptables(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_nf_call_arptables() argument 847 struct net_bridge *br = to_bridge(d); vlan_filtering_show() local 863 struct net_bridge *br = to_bridge(d); vlan_protocol_show() local 879 struct net_bridge *br = to_bridge(d); default_pvid_show() local 895 struct net_bridge *br = to_bridge(d); vlan_stats_enabled_show() local 899 set_vlan_stats_enabled(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_vlan_stats_enabled() argument 917 struct net_bridge *br = to_bridge(d); vlan_stats_per_port_show() local 921 set_vlan_stats_per_port(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) set_vlan_stats_per_port() argument 1009 struct net_bridge *br = to_bridge(dev); brforward_read() local 1046 struct net_bridge *br = netdev_priv(dev); br_sysfs_addbr() local 1083 struct net_bridge *br = netdev_priv(dev); br_sysfs_delbr() local [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_vlan.c | 68 vg = br_vlan_group(v->br); in __vlan_flags_update() 103 static int __vlan_vid_add(struct net_device *dev, struct net_bridge *br, in __vlan_vid_add() argument 114 return vlan_vid_add(dev, br->vlan_proto, v->vid); in __vlan_vid_add() 126 vg = br_vlan_group(v->br); in __vlan_add_list() 144 static int __vlan_vid_del(struct net_device *dev, struct net_bridge *br, in __vlan_vid_del() argument 154 vlan_vid_del(dev, br->vlan_proto, v->vid); in __vlan_vid_del() 162 br_vlan_get_master(struct net_bridge *br, u16 vid, in br_vlan_get_master() argument 168 vg = br_vlan_group(br); in br_vlan_get_master() 174 if (br_vlan_add(br, vid, 0, &changed, extack)) in br_vlan_get_master() 205 vg = br_vlan_group(masterv->br); in br_vlan_put_master() 231 struct net_bridge *br; br_vlan_init_state() local 265 struct net_bridge *br; __vlan_add() local 441 __vlan_flush(const struct net_bridge * br,const struct net_bridge_port * p,struct net_bridge_vlan_group * vg) __vlan_flush() argument 475 br_handle_vlan(struct net_bridge * br,const struct net_bridge_port * p,struct net_bridge_vlan_group * vg,struct sk_buff * skb) br_handle_vlan() argument 536 __allowed_ingress(const struct net_bridge * br,struct net_bridge_vlan_group * vg,struct sk_buff * skb,u16 * vid,u8 * state,struct net_bridge_vlan ** vlan) __allowed_ingress() argument 643 br_allowed_ingress(const struct net_bridge * br,struct net_bridge_vlan_group * vg,struct sk_buff * skb,u16 * vid,u8 * state,struct net_bridge_vlan ** vlan) br_allowed_ingress() argument 684 struct net_bridge *br = p->br; br_should_learn() local 714 br_vlan_add_existing(struct net_bridge * br,struct net_bridge_vlan_group * vg,struct net_bridge_vlan * vlan,u16 flags,bool * changed,struct netlink_ext_ack * extack) br_vlan_add_existing() argument 774 br_vlan_add(struct net_bridge * br,u16 vid,u16 flags,bool * changed,struct netlink_ext_ack * extack) br_vlan_add() argument 819 br_vlan_delete(struct net_bridge * br,u16 vid) br_vlan_delete() argument 839 br_vlan_flush(struct net_bridge * br) br_vlan_flush() argument 861 recalculate_group_addr(struct net_bridge * br) recalculate_group_addr() argument 879 br_recalculate_fwd_mask(struct net_bridge * br) br_recalculate_fwd_mask() argument 889 br_vlan_filter_toggle(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) br_vlan_filter_toggle() argument 924 struct net_bridge *br = netdev_priv(dev); br_vlan_enabled() local 932 struct net_bridge *br = netdev_priv(dev); br_vlan_get_proto() local 940 __br_vlan_set_proto(struct net_bridge * br,__be16 proto,struct netlink_ext_ack * extack) __br_vlan_set_proto() argument 1013 br_vlan_set_proto(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) br_vlan_set_proto() argument 1022 br_vlan_set_stats(struct net_bridge * br,unsigned long val) br_vlan_set_stats() argument 1036 br_vlan_set_stats_per_port(struct net_bridge * br,unsigned long val) br_vlan_set_stats_per_port() argument 1075 br_vlan_disable_default_pvid(struct net_bridge * br) br_vlan_disable_default_pvid() argument 1097 __br_vlan_set_default_pvid(struct net_bridge * br,u16 pvid,struct netlink_ext_ack * extack) __br_vlan_set_default_pvid() argument 1199 br_vlan_set_default_pvid(struct net_bridge * br,unsigned long val,struct netlink_ext_ack * extack) br_vlan_set_default_pvid() argument 1222 br_vlan_init(struct net_bridge * br) br_vlan_init() argument 1447 br_vlan_fill_forward_path_pvid(struct net_bridge * br,struct net_device_path_ctx * ctx,struct net_device_path * path) br_vlan_fill_forward_path_pvid() argument 1474 br_vlan_fill_forward_path_mode(struct net_bridge * br,struct net_bridge_port * dst,struct net_device_path * path) br_vlan_fill_forward_path_mode() argument 1624 br_vlan_set_vlan_dev_state(const struct net_bridge * br,struct net_device * vlan_dev) br_vlan_set_vlan_dev_state() argument 1674 struct net_bridge *br = netdev_priv(br_dev); br_vlan_toggle_bridge_binding() local 1687 struct net_bridge *br = netdev_priv(dev); br_vlan_upper_change() local 1698 struct net_bridge *br; global() member 1713 br_vlan_link_state_change(struct net_device * dev,struct net_bridge * br) br_vlan_link_state_change() argument 1745 struct net_bridge *br = netdev_priv(dev); br_vlan_bridge_event() local 1784 struct net_bridge *br = netdev_priv(br_dev); br_vlan_vlan_upper_event() local 1907 br_vlan_notify(const struct net_bridge * br,const struct net_bridge_port * p,u16 vid,u16 vid_range,int cmd) br_vlan_notify() argument 2000 struct net_bridge *br; br_vlan_dump_dev() local 2186 struct net_bridge *br; br_vlan_rtm_process_one() local [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 in br_mrp_find_port() 428 br_mrp_del_impl(struct net_bridge * br,struct br_mrp * mrp) br_mrp_del_impl() argument 497 br_mrp_add(struct net_bridge * br,struct br_mrp_instance * instance) br_mrp_add() argument 562 br_mrp_port_del(struct net_bridge * br,struct net_bridge_port * p) br_mrp_port_del() argument 576 br_mrp_del(struct net_bridge * br,struct br_mrp_instance * instance) br_mrp_del() argument 649 br_mrp_set_ring_state(struct net_bridge * br,struct br_mrp_ring_state * state) br_mrp_set_ring_state() argument 671 br_mrp_set_ring_role(struct net_bridge * br,struct br_mrp_ring_role * role) br_mrp_set_ring_role() argument 702 br_mrp_start_test(struct net_bridge * br,struct br_mrp_start_test * test) br_mrp_start_test() argument 737 br_mrp_set_in_state(struct net_bridge * br,struct br_mrp_in_state * state) br_mrp_set_in_state() argument 758 br_mrp_set_in_role(struct net_bridge * br,struct br_mrp_in_role * role) br_mrp_set_in_role() argument 840 br_mrp_start_in_test(struct net_bridge * br,struct br_mrp_start_in_test * in_test) br_mrp_start_in_test() argument 945 br_mrp_test_better_than_own(struct br_mrp * mrp,struct net_bridge * br,const struct br_mrp_ring_test_hdr * hdr) br_mrp_test_better_than_own() argument 962 br_mrp_mra_process(struct br_mrp * mrp,struct net_bridge * br,struct net_bridge_port * port,struct sk_buff * skb) br_mrp_mra_process() argument 1079 struct net_bridge *br; br_mrp_rcv() local 1257 br_mrp_enabled(struct net_bridge * br) br_mrp_enabled() argument [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, arg in br_dev_siocdevprivate() [all...] |
| H A D | br_private.h | 104 struct net_bridge *br; member 140 struct net_bridge *br; member 224 struct net_bridge *br; member 340 struct net_bridge *br; member 374 struct net_bridge *br; member 387 struct net_bridge *br; member 635 #define br_printk(level, br, format, args...) \ argument 636 printk(level "%s: " format, (br)->dev->name, ##args) 647 #define br_debug(br, format, args...) \ argument 648 pr_debug("%s: " format, (br)->dev->name, ##args) [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() 315 /* we might be called only with br->lock */ in br_port_fill_attrs() 461 struct net_bridge *br; in br_fill_ifinfo() local 466 br = port->br; in br_fill_ifinfo() 624 br_info_notify(int event,const struct net_bridge * br,const struct net_bridge_port * port,u32 filter) br_info_notify() argument 665 br_ifinfo_notify(int event,const struct net_bridge * br,const struct net_bridge_port * port) br_ifinfo_notify() argument 692 br_vlan_info(struct net_bridge * br,struct net_bridge_port * p,int cmd,struct bridge_vlan_info * vinfo,bool * changed,struct netlink_ext_ack * extack) br_vlan_info() argument 733 br_process_vlan_info(struct net_bridge * br,struct net_bridge_port * p,int cmd,struct bridge_vlan_info * vinfo_curr,struct bridge_vlan_info ** vinfo_last,bool * changed,struct netlink_ext_ack * extack) br_process_vlan_info() argument 803 br_afspec(struct net_bridge * br,struct net_bridge_port * p,struct nlattr * af_spec,int cmd,bool * changed,struct netlink_ext_ack * extack) br_afspec() argument 1088 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); br_setlink() local 1146 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); br_dellink() local 1206 struct net_bridge *br = netdev_priv(brdev); br_port_slave_changelink() local 1279 struct net_bridge *br = netdev_priv(brdev); br_changelink() local 1560 struct net_bridge *br = netdev_priv(dev); br_dev_newlink() local 1642 struct net_bridge *br = netdev_priv(brdev); br_fill_info() local 1771 struct net_bridge *br; br_get_linkxstats_size() local 1809 struct net_bridge *br; br_fill_linkxstats() local [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() 497 br_cfm_mep_create(struct net_bridge * br,const u32 instance,struct br_cfm_mep_create * const create,struct netlink_ext_ack * extack) br_cfm_mep_create() argument 569 mep_delete_implementation(struct net_bridge * br,struct br_cfm_mep * mep) mep_delete_implementation() argument 594 br_cfm_mep_delete(struct net_bridge * br,const u32 instance,struct netlink_ext_ack * extack) br_cfm_mep_delete() argument 614 br_cfm_mep_config_set(struct net_bridge * br,const u32 instance,const struct br_cfm_mep_config * const config,struct netlink_ext_ack * extack) br_cfm_mep_config_set() argument 635 br_cfm_cc_config_set(struct net_bridge * br,const u32 instance,const struct br_cfm_cc_config * const config,struct netlink_ext_ack * extack) br_cfm_cc_config_set() argument 673 br_cfm_cc_peer_mep_add(struct net_bridge * br,const u32 instance,u32 mepid,struct netlink_ext_ack * extack) br_cfm_cc_peer_mep_add() argument 712 br_cfm_cc_peer_mep_remove(struct net_bridge * br,const u32 instance,u32 mepid,struct netlink_ext_ack * extack) br_cfm_cc_peer_mep_remove() argument 743 br_cfm_cc_rdi_set(struct net_bridge * br,const u32 instance,const bool rdi,struct netlink_ext_ack * extack) br_cfm_cc_rdi_set() argument 762 br_cfm_cc_ccm_tx(struct net_bridge * br,const u32 instance,const struct br_cfm_cc_ccm_tx_info * const tx_info,struct netlink_ext_ack * extack) br_cfm_cc_ccm_tx() argument 820 br_cfm_mep_count(struct net_bridge * br,u32 * count) br_cfm_mep_count() argument 834 br_cfm_peer_mep_count(struct net_bridge * br,u32 * count) br_cfm_peer_mep_count() argument 850 br_cfm_created(struct net_bridge * br) br_cfm_created() argument 857 br_cfm_port_del(struct net_bridge * br,struct net_bridge_port * port) br_cfm_port_del() argument [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_switchdev.c | 128 static void br_switchdev_fdb_populate(struct net_bridge *br, in br_switchdev_fdb_populate() argument 141 item->info.dev = (!p || item->is_local) ? br->dev : p->dev; in br_switchdev_fdb_populate() 146 br_switchdev_fdb_notify(struct net_bridge *br, in br_switchdev_fdb_notify() argument 165 br_switchdev_fdb_populate(br, &item, fdb, NULL); in br_switchdev_fdb_notify() 206 struct net_bridge *br = joining->br; in nbp_switchdev_hwdom_set() local 211 list_for_each_entry(p, &br->port_list, list) { in nbp_switchdev_hwdom_set() 218 hwdom = find_next_zero_bit(&br->busy_hwdoms, BR_HWDOM_MAX, 1); in nbp_switchdev_hwdom_set() 222 set_bit(hwdom, &br->busy_hwdoms); in nbp_switchdev_hwdom_set() 229 struct net_bridge *br = leaving->br; in nbp_switchdev_hwdom_put() local 233 list_for_each_entry(p, &br->port_list, list) { in nbp_switchdev_hwdom_put() [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 in rtnl_mdb_nlmsg_pg_size() 708 __br_mdb_choose_context(struct net_bridge * br,const struct br_mdb_entry * entry,struct netlink_ext_ack * extack) __br_mdb_choose_context() argument 1046 struct net_bridge *br = cfg->br; br_mdb_add_group() local 1361 struct net_bridge *br = cfg->br; __br_mdb_del() local 1476 br_mdb_flush_host(struct net_bridge * br,struct net_bridge_mdb_entry * mp,const struct br_mdb_flush_desc * desc) br_mdb_flush_host() argument 1497 br_mdb_flush_pgs(struct net_bridge * br,struct net_bridge_mdb_entry * mp,const struct br_mdb_flush_desc * desc) br_mdb_flush_pgs() argument 1529 br_mdb_flush(struct net_bridge * br,const struct br_mdb_flush_desc * desc) br_mdb_flush() argument 1553 struct net_bridge *br = netdev_priv(dev); br_mdb_del_bulk() local 1678 struct net_bridge *br = netdev_priv(dev); br_mdb_get() local [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 …]
|
| /linux/drivers/base/regmap/ |
| H A D | regmap-spi-avmm.c | 175 * Format transaction layer data in br->trans_buf according to the register 176 * access request, Store valid transaction layer data length in br->trans_len. 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() 225 * Convert transaction layer data (in br->trans_buf) to phy layer data, store 226 * them in br->phy_buf. Pad the phy_buf aligned with SPI's BPW. Store valid phy 227 * layer data length in br 247 br_pkt_phy_tx_prepare(struct spi_avmm_bridge * br) br_pkt_phy_tx_prepare() argument 339 br_do_tx(struct spi_avmm_bridge * br) br_do_tx() argument 359 br_do_rx_and_pkt_phy_parse(struct spi_avmm_bridge * br) br_do_rx_and_pkt_phy_parse() argument 500 br_rd_trans_rx_parse(struct spi_avmm_bridge * br,u32 * val,unsigned int expected_count) br_rd_trans_rx_parse() argument 520 br_wr_trans_rx_parse(struct spi_avmm_bridge * br,unsigned int expected_count) br_wr_trans_rx_parse() argument 549 struct spi_avmm_bridge *br = context; do_reg_access() local 619 struct spi_avmm_bridge *br; spi_avmm_bridge_ctx_gen() local [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 …]
|