Lines Matching +full:1 +full:br +full:- +full:10
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
24 #define BR_HASH_SIZE (1 << BR_HASH_BITS)
26 #define BR_HOLD_TIME (1*HZ)
28 #define BR_PORT_BITS 10
29 #define BR_MAX_PORTS (1<<BR_PORT_BITS)
44 BR_GROUPFWD_MACPAUSE = BIT(1),
50 /* The Nearest Customer Bridge Group Address, 01-80-C2-00-00-[00,0B,0C,0D,0F] */
54 #define BR_STP_PROG "/sbin/bridge-stp"
102 struct net_bridge *br; member
138 struct net_bridge *br; member
179 BR_VLFLAG_ADDED_BY_SWITCHDEV = BIT(1),
186 * struct net_bridge_vlan - per-vlan entry
192 * @priv_flags: private (in-kernel) bridge vlan flags
194 * @stats: per-cpu VLAN statistics
195 * @br: if MASTER flag set, this points to a bridge struct
198 * @brvlan: if MASTER flag unset, this points to the global per-VLAN context
202 * @port_mcast_ctx: if MASTER flag unset, this is the per-port/vlan multicast
208 * This structure is shared between the global per-VLAN entries contained in
209 * the bridge rhashtable and the local per-port per-VLAN entries contained in
222 struct net_bridge *br; member
295 /* write-heavy members should not affect lookups */
310 #define MDB_PG_FLAGS_OFFLOAD BIT(1)
318 #define BR_SGRP_F_SEND BIT(1)
336 struct net_bridge *br; member
370 struct net_bridge *br; member
383 struct net_bridge *br; member
448 #define br_auto_port(p) ((p)->flags & BR_AUTO_MASK)
449 #define br_promisc_port(p) ((p)->flags & BR_PROMISC)
453 return rcu_dereference(dev->rx_handler_data); in br_port_get_rcu()
459 rtnl_dereference(dev->rx_handler_data) : NULL; in br_port_get_rtnl()
465 rcu_dereference_rtnl(dev->rx_handler_data) : NULL; in br_port_get_rtnl_rcu()
588 u8 mrouters_only:1;
590 u8 proxyarp_replied:1;
591 u8 src_port_isolated:1;
592 u8 promisc:1;
594 u8 vlan_filtered:1;
597 u8 br_netfilter_broute:1;
604 u8 tx_fwd_offload:1;
606 * If skb->offload_fwd_mark was set, then this packet was already
620 #define BR_INPUT_SKB_CB(__skb) ((struct br_input_skb_cb *)(__skb)->cb)
623 # define BR_INPUT_SKB_CB_MROUTERS_ONLY(__skb) (BR_INPUT_SKB_CB(__skb)->mrouters_only)
628 #define br_printk(level, br, format, args...) \ argument
629 printk(level "%s: " format, (br)->dev->name, ##args)
640 #define br_debug(br, format, args...) \ argument
641 pr_debug("%s: " format, (br)->dev->name, ##args)
644 static inline int br_is_root_bridge(const struct net_bridge *br) in br_is_root_bridge() argument
646 return !memcmp(&br->bridge_id, &br->designated_root, 8); in br_is_root_bridge()
652 return v->flags & BRIDGE_VLAN_INFO_MASTER; in br_vlan_is_master()
658 return v->flags & BRIDGE_VLAN_INFO_BRENTRY; in br_vlan_is_brentry()
676 return p->state == BR_STATE_LEARNING || p->state == BR_STATE_FORWARDING; in nbp_state_should_learn()
694 if (cur->flags & BRIDGE_VLAN_INFO_PVID) { in br_vlan_valid_range()
700 * - it has range start flag in br_vlan_valid_range()
701 * - range ids are invalid (end is equal to or before start) in br_vlan_valid_range()
704 if (cur->flags & BRIDGE_VLAN_INFO_RANGE_BEGIN) { in br_vlan_valid_range()
707 } else if (!(cur->flags & BRIDGE_VLAN_INFO_RANGE_END)) { in br_vlan_valid_range()
710 } else if (cur->vid <= last->vid) { in br_vlan_valid_range()
717 if (!(cur->flags & (BRIDGE_VLAN_INFO_RANGE_BEGIN | in br_vlan_valid_range()
732 mcast_router = v->port_mcast_ctx.multicast_router; in br_vlan_multicast_router()
734 mcast_router = v->br_mcast_ctx.multicast_router; in br_vlan_multicast_router()
752 static inline int br_opt_get(const struct net_bridge *br, in br_opt_get() argument
755 return test_bit(opt, &br->options); in br_opt_get()
758 int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on,
760 int br_boolopt_get(const struct net_bridge *br, enum br_boolopt_id opt);
761 int br_boolopt_multi_toggle(struct net_bridge *br,
764 void br_boolopt_multi_get(const struct net_bridge *br,
766 void br_opt_toggle(struct net_bridge *br, enum net_bridge_opts opt, bool on);
778 ext->l2_miss = miss; in br_tc_skb_miss_set()
786 ext->l2_miss = true; in br_tc_skb_miss_set()
802 netpoll_send_skb(p->np, skb); in br_netpoll_send_skb()
831 int br_fdb_hash_init(struct net_bridge *br);
832 void br_fdb_hash_fini(struct net_bridge *br);
833 void br_fdb_flush(struct net_bridge *br,
835 void br_fdb_find_delete_local(struct net_bridge *br,
839 void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr);
841 void br_fdb_delete_by_port(struct net_bridge *br,
843 struct net_bridge_fdb_entry *br_fdb_find_rcu(struct net_bridge *br,
847 int br_fdb_fillbuf(struct net_bridge *br, void *buf, unsigned long count,
849 int br_fdb_add_local(struct net_bridge *br, struct net_bridge_port *source,
851 void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
867 int br_fdb_sync_static(struct net_bridge *br, struct net_bridge_port *p);
868 void br_fdb_unsync_static(struct net_bridge *br, struct net_bridge_port *p);
869 int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p,
872 int br_fdb_external_learn_del(struct net_bridge *br, struct net_bridge_port *p,
875 void br_fdb_offloaded_set(struct net_bridge *br, struct net_bridge_port *p,
888 void br_flood(struct net_bridge *br, struct sk_buff *skb,
896 return BR_INPUT_SKB_CB(skb)->src_port_isolated && in br_skb_isolated()
897 (to->flags & BR_ISOLATED); in br_skb_isolated()
904 int br_add_if(struct net_bridge *br, struct net_device *dev,
906 int br_del_if(struct net_bridge *br, struct net_device *dev);
907 void br_mtu_auto_adjust(struct net_bridge *br);
908 netdev_features_t br_features_recompute(struct net_bridge *br,
911 void br_manage_promisc(struct net_bridge *br);
925 void br_add_frame(struct net_bridge *br, struct br_frame_type *ft);
926 void br_del_frame(struct net_bridge *br, struct br_frame_type *ft);
930 return rcu_dereference(dev->rx_handler) == br_get_rx_handler(dev); in br_rx_handler_check_rcu()
935 return rcu_dereference_rtnl(dev->rx_handler) == br_get_rx_handler(dev); in br_rx_handler_check_rtnl()
967 void br_multicast_init(struct net_bridge *br);
968 void br_multicast_join_snoopers(struct net_bridge *br);
969 void br_multicast_leave_snoopers(struct net_bridge *br);
970 void br_multicast_open(struct net_bridge *br);
971 void br_multicast_stop(struct net_bridge *br);
972 void br_multicast_dev_del(struct net_bridge *br);
980 int br_multicast_toggle(struct net_bridge *br, unsigned long val,
990 br_mdb_ip_get(struct net_bridge *br, struct br_ip *dst);
992 br_multicast_new_group(struct net_bridge *br, struct br_ip *group);
1001 int br_mdb_hash_init(struct net_bridge *br);
1002 void br_mdb_hash_fini(struct net_bridge *br);
1010 void br_multicast_count(struct net_bridge *br,
1013 int br_multicast_init_stats(struct net_bridge *br);
1014 void br_multicast_uninit_stats(struct net_bridge *br);
1015 void br_multicast_get_stats(const struct net_bridge *br,
1046 void br_multicast_ctx_init(struct net_bridge *br,
1055 int br_multicast_toggle_vlan_snooping(struct net_bridge *br, bool on,
1073 return group->proto == 0; in br_group_is_l2()
1076 #define mlock_dereference(X, br) \ argument
1077 rcu_dereference_protected(X, lockdep_is_held(&br->multicast_lock))
1084 if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_get_first_rport_node()
1085 return rcu_dereference(hlist_first_rcu(&brmctx->ip6_mc_router_list)); in br_multicast_get_first_rport_node()
1087 return rcu_dereference(hlist_first_rcu(&brmctx->ip4_mc_router_list)); in br_multicast_get_first_rport_node()
1096 if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_rport_from_node_skb()
1105 return mctx->port; in br_multicast_rport_from_node_skb()
1112 return timer_pending(&brmctx->ip4_mc_router_timer); in br_ip4_multicast_is_router()
1118 return timer_pending(&brmctx->ip6_mc_router_timer); in br_ip6_multicast_is_router()
1127 switch (brmctx->multicast_router) { in br_multicast_is_router()
1132 if (skb->protocol == htons(ETH_P_IP)) in br_multicast_is_router()
1134 else if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_is_router()
1153 if (brmctx->multicast_querier) { in __br_multicast_querier_exists()
1154 if (is_ipv6 && !br_opt_get(brmctx->br, BROPT_HAS_IPV6_ADDR)) in __br_multicast_querier_exists()
1162 return !timer_pending(&querier->delay_timer) && in __br_multicast_querier_exists()
1163 (own_querier_enabled || timer_pending(&querier->timer)); in __br_multicast_querier_exists()
1170 switch (eth->h_proto) { in br_multicast_querier_exists()
1173 &brmctx->ip4_other_query, false); in br_multicast_querier_exists()
1177 &brmctx->ip6_other_query, true); in br_multicast_querier_exists()
1180 return !!mdb && br_group_is_l2(&mdb->addr); in br_multicast_querier_exists()
1186 switch (ip->proto) { in br_multicast_is_star_g()
1188 return ipv4_is_zeronet(ip->src.ip4); in br_multicast_is_star_g()
1191 return ipv6_addr_any(&ip->src.ip6); in br_multicast_is_star_g()
1204 return !!(brmctx->multicast_igmp_version == 3); in br_multicast_should_handle_mode()
1207 return !!(brmctx->multicast_mld_version == 2); in br_multicast_should_handle_mode()
1216 return BR_INPUT_SKB_CB(skb)->igmp; in br_multicast_igmp_type()
1221 return brmctx->multicast_last_member_interval * in br_multicast_lmqt()
1222 brmctx->multicast_last_member_count; in br_multicast_lmqt()
1227 return brmctx->multicast_membership_interval; in br_multicast_gmi()
1233 return !!brmctx->vlan; in br_multicast_ctx_is_vlan()
1239 return !!pmctx->vlan; in br_multicast_port_ctx_is_vlan()
1246 return &pmctx->port->br->multicast_ctx; in br_multicast_port_ctx_get_global()
1248 return &pmctx->vlan->brvlan->br_mcast_ctx; in br_multicast_port_ctx_get_global()
1255 (!br_opt_get(brmctx->br, BROPT_MCAST_VLAN_SNOOPING_ENABLED) || in br_multicast_ctx_vlan_global_disabled()
1256 !(brmctx->vlan->priv_flags & BR_VLFLAG_GLOBAL_MCAST_ENABLED)); in br_multicast_ctx_vlan_global_disabled()
1263 !(brmctx->vlan->priv_flags & BR_VLFLAG_MCAST_ENABLED); in br_multicast_ctx_vlan_disabled()
1270 !(pmctx->vlan->priv_flags & BR_VLFLAG_MCAST_ENABLED); in br_multicast_port_ctx_vlan_disabled()
1276 return pmctx->port->state == BR_STATE_DISABLED || in br_multicast_port_ctx_state_disabled()
1279 pmctx->vlan->state == BR_STATE_DISABLED)); in br_multicast_port_ctx_state_disabled()
1286 pmctx->port->state == BR_STATE_BLOCKING || in br_multicast_port_ctx_state_stopped()
1288 pmctx->vlan->state == BR_STATE_BLOCKING); in br_multicast_port_ctx_state_stopped()
1295 return !hlist_empty(&brmctx->ip4_mc_router_list) || in br_rports_have_mc_router()
1296 !hlist_empty(&brmctx->ip6_mc_router_list); in br_rports_have_mc_router()
1298 return !hlist_empty(&brmctx->ip4_mc_router_list); in br_rports_have_mc_router()
1306 return brmctx1->multicast_igmp_version == in br_multicast_ctx_options_equal()
1307 brmctx2->multicast_igmp_version && in br_multicast_ctx_options_equal()
1308 brmctx1->multicast_last_member_count == in br_multicast_ctx_options_equal()
1309 brmctx2->multicast_last_member_count && in br_multicast_ctx_options_equal()
1310 brmctx1->multicast_startup_query_count == in br_multicast_ctx_options_equal()
1311 brmctx2->multicast_startup_query_count && in br_multicast_ctx_options_equal()
1312 brmctx1->multicast_last_member_interval == in br_multicast_ctx_options_equal()
1313 brmctx2->multicast_last_member_interval && in br_multicast_ctx_options_equal()
1314 brmctx1->multicast_membership_interval == in br_multicast_ctx_options_equal()
1315 brmctx2->multicast_membership_interval && in br_multicast_ctx_options_equal()
1316 brmctx1->multicast_querier_interval == in br_multicast_ctx_options_equal()
1317 brmctx2->multicast_querier_interval && in br_multicast_ctx_options_equal()
1318 brmctx1->multicast_query_interval == in br_multicast_ctx_options_equal()
1319 brmctx2->multicast_query_interval && in br_multicast_ctx_options_equal()
1320 brmctx1->multicast_query_response_interval == in br_multicast_ctx_options_equal()
1321 brmctx2->multicast_query_response_interval && in br_multicast_ctx_options_equal()
1322 brmctx1->multicast_startup_query_interval == in br_multicast_ctx_options_equal()
1323 brmctx2->multicast_startup_query_interval && in br_multicast_ctx_options_equal()
1324 brmctx1->multicast_querier == brmctx2->multicast_querier && in br_multicast_ctx_options_equal()
1325 brmctx1->multicast_router == brmctx2->multicast_router && in br_multicast_ctx_options_equal()
1329 brmctx1->multicast_mld_version == in br_multicast_ctx_options_equal()
1330 brmctx2->multicast_mld_version && in br_multicast_ctx_options_equal()
1340 vlan_snooping_enabled = !!br_opt_get(brmctx->br, in br_multicast_ctx_matches_vlan_snooping()
1379 static inline void br_multicast_init(struct net_bridge *br) in br_multicast_init() argument
1383 static inline void br_multicast_join_snoopers(struct net_bridge *br) in br_multicast_join_snoopers() argument
1387 static inline void br_multicast_leave_snoopers(struct net_bridge *br) in br_multicast_leave_snoopers() argument
1391 static inline void br_multicast_open(struct net_bridge *br) in br_multicast_open() argument
1395 static inline void br_multicast_stop(struct net_bridge *br) in br_multicast_stop() argument
1399 static inline void br_multicast_dev_del(struct net_bridge *br) in br_multicast_dev_del() argument
1426 return -EOPNOTSUPP; in br_mdb_add()
1432 return -EOPNOTSUPP; in br_mdb_del()
1438 return -EOPNOTSUPP; in br_mdb_del_bulk()
1451 return -EOPNOTSUPP; in br_mdb_get()
1454 static inline int br_mdb_hash_init(struct net_bridge *br) in br_mdb_hash_init() argument
1459 static inline void br_mdb_hash_fini(struct net_bridge *br) in br_mdb_hash_fini() argument
1463 static inline void br_multicast_count(struct net_bridge *br, in br_multicast_count() argument
1470 static inline int br_multicast_init_stats(struct net_bridge *br) in br_multicast_init_stats() argument
1475 static inline void br_multicast_uninit_stats(struct net_bridge *br) in br_multicast_uninit_stats() argument
1484 static inline void br_multicast_ctx_init(struct net_bridge *br, in br_multicast_ctx_init() argument
1509 static inline int br_multicast_toggle_vlan_snooping(struct net_bridge *br, in br_multicast_toggle_vlan_snooping() argument
1513 return -EOPNOTSUPP; in br_multicast_toggle_vlan_snooping()
1532 bool br_allowed_ingress(const struct net_bridge *br,
1539 struct sk_buff *br_handle_vlan(struct net_bridge *br,
1543 int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags,
1545 int br_vlan_delete(struct net_bridge *br, u16 vid);
1546 void br_vlan_flush(struct net_bridge *br);
1548 void br_recalculate_fwd_mask(struct net_bridge *br);
1549 int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val,
1551 int __br_vlan_set_proto(struct net_bridge *br, __be16 proto,
1553 int br_vlan_set_proto(struct net_bridge *br, unsigned long val,
1555 int br_vlan_set_stats(struct net_bridge *br, unsigned long val);
1556 int br_vlan_set_stats_per_port(struct net_bridge *br, unsigned long val);
1557 int br_vlan_init(struct net_bridge *br);
1558 int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val,
1560 int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid,
1578 void br_vlan_notify(const struct net_bridge *br,
1585 void br_vlan_fill_forward_path_pvid(struct net_bridge *br,
1588 int br_vlan_fill_forward_path_mode(struct net_bridge *br,
1593 const struct net_bridge *br) in br_vlan_group() argument
1595 return rtnl_dereference(br->vlgrp); in br_vlan_group()
1601 return rtnl_dereference(p->vlgrp); in nbp_vlan_group()
1605 const struct net_bridge *br) in br_vlan_group_rcu() argument
1607 return rcu_dereference(br->vlgrp); in br_vlan_group_rcu()
1613 return rcu_dereference(p->vlgrp); in nbp_vlan_group_rcu()
1627 err = -EINVAL; in br_vlan_get_tag()
1639 return vg->pvid; in br_get_pvid()
1644 return v->vid == pvid ? v->flags | BRIDGE_VLAN_INFO_PVID : v->flags; in br_vlan_flags()
1647 static inline bool br_allowed_ingress(const struct net_bridge *br, in br_allowed_ingress() argument
1670 static inline struct sk_buff *br_handle_vlan(struct net_bridge *br, in br_handle_vlan() argument
1678 static inline int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags, in br_vlan_add() argument
1682 return -EOPNOTSUPP; in br_vlan_add()
1685 static inline int br_vlan_delete(struct net_bridge *br, u16 vid) in br_vlan_delete() argument
1687 return -EOPNOTSUPP; in br_vlan_delete()
1690 static inline void br_vlan_flush(struct net_bridge *br) in br_vlan_flush() argument
1694 static inline void br_recalculate_fwd_mask(struct net_bridge *br) in br_recalculate_fwd_mask() argument
1698 static inline int br_vlan_init(struct net_bridge *br) in br_vlan_init() argument
1707 return -EOPNOTSUPP; in nbp_vlan_add()
1712 return -EOPNOTSUPP; in nbp_vlan_delete()
1741 static inline int br_vlan_filter_toggle(struct net_bridge *br, in br_vlan_filter_toggle() argument
1745 return -EOPNOTSUPP; in br_vlan_filter_toggle()
1754 static inline void br_vlan_fill_forward_path_pvid(struct net_bridge *br, in br_vlan_fill_forward_path_pvid() argument
1760 static inline int br_vlan_fill_forward_path_mode(struct net_bridge *br, in br_vlan_fill_forward_path_mode() argument
1768 const struct net_bridge *br) in br_vlan_group() argument
1780 const struct net_bridge *br) in br_vlan_group_rcu() argument
1822 static inline void br_vlan_notify(const struct net_bridge *br, in br_vlan_notify() argument
1849 int br_vlan_process_options(const struct net_bridge *br,
1864 /* vlan state manipulation helpers using *_ONCE to annotate lock-free access */
1867 return READ_ONCE(v->state); in br_vlan_get_state()
1872 WRITE_ONCE(v->state, state); in br_vlan_set_state()
1877 return READ_ONCE(vg->pvid_state); in br_vlan_get_pvid_state()
1883 WRITE_ONCE(vg->pvid_state, state); in br_vlan_set_pvid_state()
1903 static inline bool br_mst_is_enabled(struct net_bridge *br) in br_mst_is_enabled() argument
1906 br_opt_get(br, BROPT_MST_ENABLED); in br_mst_is_enabled()
1913 int br_mst_set_enabled(struct net_bridge *br, bool on,
1921 static inline bool br_mst_is_enabled(struct net_bridge *br) in br_mst_is_enabled() argument
1929 return -EOPNOTSUPP; in br_mst_set_state()
1932 static inline int br_mst_set_enabled(struct net_bridge *br, bool on, in br_mst_set_enabled() argument
1935 return -EOPNOTSUPP; in br_mst_set_enabled()
1946 return -EOPNOTSUPP; in br_mst_fill_info()
1953 return -EOPNOTSUPP; in br_mst_process()
1975 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no);
1979 void __br_set_forward_delay(struct net_bridge *br, unsigned long t);
1980 int br_set_forward_delay(struct net_bridge *br, unsigned long x);
1981 int br_set_hello_time(struct net_bridge *br, unsigned long x);
1982 int br_set_max_age(struct net_bridge *br, unsigned long x);
1984 int br_set_ageing_time(struct net_bridge *br, clock_t ageing_time);
1988 void br_stp_enable_bridge(struct net_bridge *br);
1989 void br_stp_disable_bridge(struct net_bridge *br);
1990 int br_stp_set_enabled(struct net_bridge *br, unsigned long val,
1994 bool br_stp_recalculate_bridge_id(struct net_bridge *br);
1995 void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *a);
1996 void br_stp_set_bridge_priority(struct net_bridge *br, u16 newprio);
2007 void br_stp_timer_init(struct net_bridge *br);
2011 /* br.c */
2018 int br_mrp_parse(struct net_bridge *br, struct net_bridge_port *p,
2020 bool br_mrp_enabled(struct net_bridge *br);
2021 void br_mrp_port_del(struct net_bridge *br, struct net_bridge_port *p);
2022 int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br);
2024 static inline int br_mrp_parse(struct net_bridge *br, struct net_bridge_port *p, in br_mrp_parse() argument
2028 return -EOPNOTSUPP; in br_mrp_parse()
2031 static inline bool br_mrp_enabled(struct net_bridge *br) in br_mrp_enabled() argument
2036 static inline void br_mrp_port_del(struct net_bridge *br, in br_mrp_port_del() argument
2041 static inline int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br) in br_mrp_fill_info() argument
2050 int br_cfm_parse(struct net_bridge *br, struct net_bridge_port *p,
2052 bool br_cfm_created(struct net_bridge *br);
2053 void br_cfm_port_del(struct net_bridge *br, struct net_bridge_port *p);
2054 int br_cfm_config_fill_info(struct sk_buff *skb, struct net_bridge *br);
2056 struct net_bridge *br,
2058 int br_cfm_mep_count(struct net_bridge *br, u32 *count);
2059 int br_cfm_peer_mep_count(struct net_bridge *br, u32 *count);
2061 static inline int br_cfm_parse(struct net_bridge *br, struct net_bridge_port *p, in br_cfm_parse() argument
2065 return -EOPNOTSUPP; in br_cfm_parse()
2068 static inline bool br_cfm_created(struct net_bridge *br) in br_cfm_created() argument
2073 static inline void br_cfm_port_del(struct net_bridge *br, in br_cfm_port_del() argument
2078 static inline int br_cfm_config_fill_info(struct sk_buff *skb, struct net_bridge *br) in br_cfm_config_fill_info() argument
2080 return -EOPNOTSUPP; in br_cfm_config_fill_info()
2084 struct net_bridge *br, in br_cfm_status_fill_info() argument
2087 return -EOPNOTSUPP; in br_cfm_status_fill_info()
2090 static inline int br_cfm_mep_count(struct net_bridge *br, u32 *count) in br_cfm_mep_count() argument
2093 return -EOPNOTSUPP; in br_cfm_mep_count()
2096 static inline int br_cfm_peer_mep_count(struct net_bridge *br, u32 *count) in br_cfm_peer_mep_count() argument
2099 return -EOPNOTSUPP; in br_cfm_peer_mep_count()
2107 void br_ifinfo_notify(int event, const struct net_bridge *br,
2109 void br_info_notify(int event, const struct net_bridge *br,
2116 int br_process_vlan_info(struct net_bridge *br,
2176 void br_switchdev_fdb_notify(struct net_bridge *br,
2185 void br_switchdev_init(struct net_bridge *br);
2189 skb->offload_fwd_mark = 0; in br_switchdev_frame_unmark()
2200 return -EOPNOTSUPP; in br_switchdev_port_offload()
2217 return -EOPNOTSUPP; in br_switchdev_port_replay()
2264 return -EOPNOTSUPP; in br_switchdev_port_vlan_add()
2269 return -EOPNOTSUPP; in br_switchdev_port_vlan_del()
2273 br_switchdev_fdb_notify(struct net_bridge *br, in br_switchdev_fdb_notify() argument
2289 static inline void br_switchdev_init(struct net_bridge *br) in br_switchdev_init() argument
2296 void br_recalculate_neigh_suppress_enabled(struct net_bridge *br);
2297 void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br,
2299 void br_do_suppress_nd(struct sk_buff *skb, struct net_bridge *br,