| /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, 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), jiffie in has_expired() 76 fdb_to_nud(const struct net_bridge * br,const struct net_bridge_fdb_entry * fdb) fdb_to_nud() argument 89 fdb_fill_info(struct sk_buff * skb,const struct net_bridge * br,const struct net_bridge_fdb_entry * fdb,u32 portid,u32 seq,int type,unsigned int flags) fdb_fill_info() argument 177 fdb_notify(struct net_bridge * br,const struct net_bridge_fdb_entry * fdb,int type,bool swdev_notify) fdb_notify() argument 220 br_fdb_find(struct net_bridge * br,const unsigned char * addr,__u16 vid) br_fdb_find() argument 241 struct net_bridge *br; br_fdb_find_port() local 259 br_fdb_find_rcu(struct net_bridge * br,const unsigned char * addr,__u16 vid) br_fdb_find_rcu() argument 271 fdb_add_hw_addr(struct net_bridge * br,const unsigned char * addr) fdb_add_hw_addr() argument 299 fdb_del_hw_addr(struct net_bridge * br,const unsigned char * addr) fdb_del_hw_addr() argument 311 fdb_delete(struct net_bridge * br,struct net_bridge_fdb_entry * f,bool swdev_notify) fdb_delete() argument 334 fdb_delete_local(struct net_bridge * br,const struct net_bridge_port * p,struct net_bridge_fdb_entry * f) fdb_delete_local() argument 368 br_fdb_find_delete_local(struct net_bridge * br,const struct net_bridge_port * p,const unsigned char * addr,u16 vid) br_fdb_find_delete_local() argument 382 fdb_create(struct net_bridge * br,struct net_bridge_port * source,const unsigned char * addr,__u16 vid,unsigned long flags) fdb_create() argument 426 fdb_add_local(struct net_bridge * br,struct net_bridge_port * source,const unsigned char * addr,u16 vid) fdb_add_local() argument 460 struct net_bridge *br = p->br; br_fdb_changeaddr() local 501 br_fdb_change_mac_address(struct net_bridge * br,const u8 * newaddr) br_fdb_change_mac_address() argument 541 struct net_bridge *br = container_of(work, struct net_bridge, br_fdb_cleanup() local 585 br_fdb_delete_locals_per_vlan_port(struct net_bridge * br,struct net_bridge_port * p) br_fdb_delete_locals_per_vlan_port() argument 604 br_fdb_delete_locals_per_vlan(struct net_bridge * br) br_fdb_delete_locals_per_vlan() argument 616 br_fdb_insert_locals_per_vlan_port(struct net_bridge * br,struct net_bridge_port * p,struct netlink_ext_ack * extack) br_fdb_insert_locals_per_vlan_port() argument 645 br_fdb_insert_locals_per_vlan(struct net_bridge * br,struct netlink_ext_ack * extack) br_fdb_insert_locals_per_vlan() argument 671 br_fdb_toggle_local_vlan_0(struct net_bridge * br,bool on,struct netlink_ext_ack * extack) br_fdb_toggle_local_vlan_0() argument 681 __fdb_flush_matches(const struct net_bridge * br,const struct net_bridge_fdb_entry * f,const struct net_bridge_fdb_flush_desc * desc) __fdb_flush_matches() argument 699 br_fdb_flush(struct net_bridge * br,const struct net_bridge_fdb_flush_desc * desc) br_fdb_flush() argument 745 __fdb_flush_validate_ifindex(const struct net_bridge * br,int ifindex,struct netlink_ext_ack * extack) __fdb_flush_validate_ifindex() argument 791 struct net_bridge *br; br_fdb_delete_bulk() local 861 br_fdb_delete_by_port(struct net_bridge * br,const struct net_bridge_port * p,u16 vid,int do_all) br_fdb_delete_by_port() argument 922 br_fdb_fillbuf(struct net_bridge * br,void * buf,unsigned long maxnum,unsigned long skip) br_fdb_fillbuf() argument 971 br_fdb_add_local(struct net_bridge * br,struct net_bridge_port * source,const unsigned char * addr,u16 vid) br_fdb_add_local() argument 989 br_fdb_update(struct net_bridge * br,struct net_bridge_port * source,const unsigned char * addr,u16 vid,unsigned long flags) br_fdb_update() argument 1065 struct net_bridge *br = netdev_priv(dev); br_fdb_dump() local 1118 struct net_bridge *br = netdev_priv(dev); br_fdb_get() local 1162 fdb_add_entry(struct net_bridge * br,struct net_bridge_port * source,const u8 * addr,struct ndmsg * ndm,u16 flags,u16 vid,struct nlattr * nfea_tb[]) fdb_add_entry() argument 1259 __br_fdb_add(struct ndmsg * ndm,struct net_bridge * br,struct net_bridge_port * p,const unsigned char * addr,u16 nlh_flags,u16 vid,struct nlattr * nfea_tb[],bool * notified,struct netlink_ext_ack * extack) __br_fdb_add() argument 1313 struct net_bridge *br = NULL; br_fdb_add() local 1395 fdb_delete_by_addr_and_port(struct net_bridge * br,const struct net_bridge_port * p,const u8 * addr,u16 vlan,bool * notified) fdb_delete_by_addr_and_port() argument 1411 __br_fdb_delete(struct net_bridge * br,const struct net_bridge_port * p,const unsigned char * addr,u16 vid,bool * notified) __br_fdb_delete() argument 1432 struct net_bridge *br; br_fdb_delete() local 1469 br_fdb_sync_static(struct net_bridge * br,struct net_bridge_port * p) br_fdb_sync_static() argument 1504 br_fdb_unsync_static(struct net_bridge * br,struct net_bridge_port * p) br_fdb_unsync_static() argument 1521 br_fdb_external_learn_add(struct net_bridge * br,struct net_bridge_port * p,const unsigned char * addr,u16 vid,bool locked,bool swdev_notify) br_fdb_external_learn_add() argument 1602 br_fdb_external_learn_del(struct net_bridge * br,struct net_bridge_port * p,const unsigned char * addr,u16 vid,bool swdev_notify) br_fdb_external_learn_del() argument 1622 br_fdb_offloaded_set(struct net_bridge * br,struct net_bridge_port * p,const unsigned char * addr,u16 vid,bool offloaded) br_fdb_offloaded_set() argument [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() [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_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() 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_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->multicast_ctx.multicast_igmp_version == 2) in rtnl_mdb_nlmsg_pg_size() [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_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, struc argument 284 br_mrp_in_role_parse(struct net_bridge * br,struct nlattr * attr,struct netlink_ext_ack * extack) br_mrp_in_role_parse() argument 324 br_mrp_start_in_test_parse(struct net_bridge * br,struct nlattr * attr,struct netlink_ext_ack * extack) br_mrp_start_in_test_parse() argument 356 br_mrp_parse(struct net_bridge * br,struct net_bridge_port * p,struct nlattr * attr,int cmd,struct netlink_ext_ack * extack) br_mrp_parse() argument 447 br_mrp_fill_info(struct sk_buff * skb,struct net_bridge * br) br_mrp_fill_info() argument [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 …]
|