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()
952 int br_ioctl_stub(struct net *net, struct net_bridge *br, unsigned int cmd,
968 void br_multicast_init(struct net_bridge *br);
969 void br_multicast_join_snoopers(struct net_bridge *br);
970 void br_multicast_leave_snoopers(struct net_bridge *br);
971 void br_multicast_open(struct net_bridge *br);
972 void br_multicast_stop(struct net_bridge *br);
973 void br_multicast_dev_del(struct net_bridge *br);
981 int br_multicast_toggle(struct net_bridge *br, unsigned long val,
991 br_mdb_ip_get(struct net_bridge *br, struct br_ip *dst);
993 br_multicast_new_group(struct net_bridge *br, struct br_ip *group);
1002 int br_mdb_hash_init(struct net_bridge *br);
1003 void br_mdb_hash_fini(struct net_bridge *br);
1011 void br_multicast_count(struct net_bridge *br,
1014 int br_multicast_init_stats(struct net_bridge *br);
1015 void br_multicast_uninit_stats(struct net_bridge *br);
1016 void br_multicast_get_stats(const struct net_bridge *br,
1047 void br_multicast_ctx_init(struct net_bridge *br,
1056 int br_multicast_toggle_vlan_snooping(struct net_bridge *br, bool on,
1074 return group->proto == 0; in br_group_is_l2()
1077 #define mlock_dereference(X, br) \ argument
1078 rcu_dereference_protected(X, lockdep_is_held(&br->multicast_lock))
1085 if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_get_first_rport_node()
1086 return rcu_dereference(hlist_first_rcu(&brmctx->ip6_mc_router_list)); in br_multicast_get_first_rport_node()
1088 return rcu_dereference(hlist_first_rcu(&brmctx->ip4_mc_router_list)); in br_multicast_get_first_rport_node()
1097 if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_rport_from_node_skb()
1106 return mctx->port; in br_multicast_rport_from_node_skb()
1113 return timer_pending(&brmctx->ip4_mc_router_timer); in br_ip4_multicast_is_router()
1119 return timer_pending(&brmctx->ip6_mc_router_timer); in br_ip6_multicast_is_router()
1128 switch (brmctx->multicast_router) { in br_multicast_is_router()
1133 if (skb->protocol == htons(ETH_P_IP)) in br_multicast_is_router()
1135 else if (skb->protocol == htons(ETH_P_IPV6)) in br_multicast_is_router()
1154 if (brmctx->multicast_querier) { in __br_multicast_querier_exists()
1155 if (is_ipv6 && !br_opt_get(brmctx->br, BROPT_HAS_IPV6_ADDR)) in __br_multicast_querier_exists()
1163 return !timer_pending(&querier->delay_timer) && in __br_multicast_querier_exists()
1164 (own_querier_enabled || timer_pending(&querier->timer)); in __br_multicast_querier_exists()
1171 switch (eth->h_proto) { in br_multicast_querier_exists()
1174 &brmctx->ip4_other_query, false); in br_multicast_querier_exists()
1178 &brmctx->ip6_other_query, true); in br_multicast_querier_exists()
1181 return !!mdb && br_group_is_l2(&mdb->addr); in br_multicast_querier_exists()
1187 switch (ip->proto) { in br_multicast_is_star_g()
1189 return ipv4_is_zeronet(ip->src.ip4); in br_multicast_is_star_g()
1192 return ipv6_addr_any(&ip->src.ip6); in br_multicast_is_star_g()
1205 return !!(brmctx->multicast_igmp_version == 3); in br_multicast_should_handle_mode()
1208 return !!(brmctx->multicast_mld_version == 2); in br_multicast_should_handle_mode()
1217 return BR_INPUT_SKB_CB(skb)->igmp; in br_multicast_igmp_type()
1222 return brmctx->multicast_last_member_interval * in br_multicast_lmqt()
1223 brmctx->multicast_last_member_count; in br_multicast_lmqt()
1228 return brmctx->multicast_membership_interval; in br_multicast_gmi()
1234 return !!brmctx->vlan; in br_multicast_ctx_is_vlan()
1240 return !!pmctx->vlan; in br_multicast_port_ctx_is_vlan()
1247 return &pmctx->port->br->multicast_ctx; in br_multicast_port_ctx_get_global()
1249 return &pmctx->vlan->brvlan->br_mcast_ctx; in br_multicast_port_ctx_get_global()
1256 (!br_opt_get(brmctx->br, BROPT_MCAST_VLAN_SNOOPING_ENABLED) || in br_multicast_ctx_vlan_global_disabled()
1257 !(brmctx->vlan->priv_flags & BR_VLFLAG_GLOBAL_MCAST_ENABLED)); in br_multicast_ctx_vlan_global_disabled()
1264 !(brmctx->vlan->priv_flags & BR_VLFLAG_MCAST_ENABLED); in br_multicast_ctx_vlan_disabled()
1271 !(pmctx->vlan->priv_flags & BR_VLFLAG_MCAST_ENABLED); in br_multicast_port_ctx_vlan_disabled()
1277 return pmctx->port->state == BR_STATE_DISABLED || in br_multicast_port_ctx_state_disabled()
1280 pmctx->vlan->state == BR_STATE_DISABLED)); in br_multicast_port_ctx_state_disabled()
1287 pmctx->port->state == BR_STATE_BLOCKING || in br_multicast_port_ctx_state_stopped()
1289 pmctx->vlan->state == BR_STATE_BLOCKING); in br_multicast_port_ctx_state_stopped()
1296 return !hlist_empty(&brmctx->ip4_mc_router_list) || in br_rports_have_mc_router()
1297 !hlist_empty(&brmctx->ip6_mc_router_list); in br_rports_have_mc_router()
1299 return !hlist_empty(&brmctx->ip4_mc_router_list); in br_rports_have_mc_router()
1307 return brmctx1->multicast_igmp_version == in br_multicast_ctx_options_equal()
1308 brmctx2->multicast_igmp_version && in br_multicast_ctx_options_equal()
1309 brmctx1->multicast_last_member_count == in br_multicast_ctx_options_equal()
1310 brmctx2->multicast_last_member_count && in br_multicast_ctx_options_equal()
1311 brmctx1->multicast_startup_query_count == in br_multicast_ctx_options_equal()
1312 brmctx2->multicast_startup_query_count && in br_multicast_ctx_options_equal()
1313 brmctx1->multicast_last_member_interval == in br_multicast_ctx_options_equal()
1314 brmctx2->multicast_last_member_interval && in br_multicast_ctx_options_equal()
1315 brmctx1->multicast_membership_interval == in br_multicast_ctx_options_equal()
1316 brmctx2->multicast_membership_interval && in br_multicast_ctx_options_equal()
1317 brmctx1->multicast_querier_interval == in br_multicast_ctx_options_equal()
1318 brmctx2->multicast_querier_interval && in br_multicast_ctx_options_equal()
1319 brmctx1->multicast_query_interval == in br_multicast_ctx_options_equal()
1320 brmctx2->multicast_query_interval && in br_multicast_ctx_options_equal()
1321 brmctx1->multicast_query_response_interval == in br_multicast_ctx_options_equal()
1322 brmctx2->multicast_query_response_interval && in br_multicast_ctx_options_equal()
1323 brmctx1->multicast_startup_query_interval == in br_multicast_ctx_options_equal()
1324 brmctx2->multicast_startup_query_interval && in br_multicast_ctx_options_equal()
1325 brmctx1->multicast_querier == brmctx2->multicast_querier && in br_multicast_ctx_options_equal()
1326 brmctx1->multicast_router == brmctx2->multicast_router && in br_multicast_ctx_options_equal()
1330 brmctx1->multicast_mld_version == in br_multicast_ctx_options_equal()
1331 brmctx2->multicast_mld_version && in br_multicast_ctx_options_equal()
1341 vlan_snooping_enabled = !!br_opt_get(brmctx->br, in br_multicast_ctx_matches_vlan_snooping()
1380 static inline void br_multicast_init(struct net_bridge *br) in br_multicast_init() argument
1384 static inline void br_multicast_join_snoopers(struct net_bridge *br) in br_multicast_join_snoopers() argument
1388 static inline void br_multicast_leave_snoopers(struct net_bridge *br) in br_multicast_leave_snoopers() argument
1392 static inline void br_multicast_open(struct net_bridge *br) in br_multicast_open() argument
1396 static inline void br_multicast_stop(struct net_bridge *br) in br_multicast_stop() argument
1400 static inline void br_multicast_dev_del(struct net_bridge *br) in br_multicast_dev_del() argument
1427 return -EOPNOTSUPP; in br_mdb_add()
1433 return -EOPNOTSUPP; in br_mdb_del()
1439 return -EOPNOTSUPP; in br_mdb_del_bulk()
1452 return -EOPNOTSUPP; in br_mdb_get()
1455 static inline int br_mdb_hash_init(struct net_bridge *br) in br_mdb_hash_init() argument
1460 static inline void br_mdb_hash_fini(struct net_bridge *br) in br_mdb_hash_fini() argument
1464 static inline void br_multicast_count(struct net_bridge *br, in br_multicast_count() argument
1471 static inline int br_multicast_init_stats(struct net_bridge *br) in br_multicast_init_stats() argument
1476 static inline void br_multicast_uninit_stats(struct net_bridge *br) in br_multicast_uninit_stats() argument
1485 static inline void br_multicast_ctx_init(struct net_bridge *br, in br_multicast_ctx_init() argument
1510 static inline int br_multicast_toggle_vlan_snooping(struct net_bridge *br, in br_multicast_toggle_vlan_snooping() argument
1514 return -EOPNOTSUPP; in br_multicast_toggle_vlan_snooping()
1533 bool br_allowed_ingress(const struct net_bridge *br,
1540 struct sk_buff *br_handle_vlan(struct net_bridge *br,
1544 int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags,
1546 int br_vlan_delete(struct net_bridge *br, u16 vid);
1547 void br_vlan_flush(struct net_bridge *br);
1549 void br_recalculate_fwd_mask(struct net_bridge *br);
1550 int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val,
1552 int __br_vlan_set_proto(struct net_bridge *br, __be16 proto,
1554 int br_vlan_set_proto(struct net_bridge *br, unsigned long val,
1556 int br_vlan_set_stats(struct net_bridge *br, unsigned long val);
1557 int br_vlan_set_stats_per_port(struct net_bridge *br, unsigned long val);
1558 int br_vlan_init(struct net_bridge *br);
1559 int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val,
1561 int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid,
1576 void br_vlan_notify(const struct net_bridge *br,
1583 void br_vlan_fill_forward_path_pvid(struct net_bridge *br,
1586 int br_vlan_fill_forward_path_mode(struct net_bridge *br,
1591 const struct net_bridge *br) in br_vlan_group() argument
1593 return rtnl_dereference(br->vlgrp); in br_vlan_group()
1599 return rtnl_dereference(p->vlgrp); in nbp_vlan_group()
1603 const struct net_bridge *br) in br_vlan_group_rcu() argument
1605 return rcu_dereference(br->vlgrp); in br_vlan_group_rcu()
1611 return rcu_dereference(p->vlgrp); in nbp_vlan_group_rcu()
1625 err = -EINVAL; in br_vlan_get_tag()
1637 return vg->pvid; in br_get_pvid()
1642 return v->vid == pvid ? v->flags | BRIDGE_VLAN_INFO_PVID : v->flags; in br_vlan_flags()
1645 static inline bool br_allowed_ingress(const struct net_bridge *br, in br_allowed_ingress() argument
1668 static inline struct sk_buff *br_handle_vlan(struct net_bridge *br, in br_handle_vlan() argument
1676 static inline int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags, in br_vlan_add() argument
1680 return -EOPNOTSUPP; in br_vlan_add()
1683 static inline int br_vlan_delete(struct net_bridge *br, u16 vid) in br_vlan_delete() argument
1685 return -EOPNOTSUPP; in br_vlan_delete()
1688 static inline void br_vlan_flush(struct net_bridge *br) in br_vlan_flush() argument
1692 static inline void br_recalculate_fwd_mask(struct net_bridge *br) in br_recalculate_fwd_mask() argument
1696 static inline int br_vlan_init(struct net_bridge *br) in br_vlan_init() argument
1705 return -EOPNOTSUPP; in nbp_vlan_add()
1710 return -EOPNOTSUPP; in nbp_vlan_delete()
1739 static inline int br_vlan_filter_toggle(struct net_bridge *br, in br_vlan_filter_toggle() argument
1743 return -EOPNOTSUPP; in br_vlan_filter_toggle()
1752 static inline void br_vlan_fill_forward_path_pvid(struct net_bridge *br, in br_vlan_fill_forward_path_pvid() argument
1758 static inline int br_vlan_fill_forward_path_mode(struct net_bridge *br, in br_vlan_fill_forward_path_mode() argument
1766 const struct net_bridge *br) in br_vlan_group() argument
1778 const struct net_bridge *br) in br_vlan_group_rcu() argument
1814 static inline void br_vlan_notify(const struct net_bridge *br, in br_vlan_notify() argument
1841 int br_vlan_process_options(const struct net_bridge *br,
1856 /* vlan state manipulation helpers using *_ONCE to annotate lock-free access */
1859 return READ_ONCE(v->state); in br_vlan_get_state()
1864 WRITE_ONCE(v->state, state); in br_vlan_set_state()
1869 return READ_ONCE(vg->pvid_state); in br_vlan_get_pvid_state()
1875 WRITE_ONCE(vg->pvid_state, state); in br_vlan_set_pvid_state()
1895 static inline bool br_mst_is_enabled(struct net_bridge *br) in br_mst_is_enabled() argument
1898 br_opt_get(br, BROPT_MST_ENABLED); in br_mst_is_enabled()
1905 int br_mst_set_enabled(struct net_bridge *br, bool on,
1913 static inline bool br_mst_is_enabled(struct net_bridge *br) in br_mst_is_enabled() argument
1921 return -EOPNOTSUPP; in br_mst_set_state()
1924 static inline int br_mst_set_enabled(struct net_bridge *br, bool on, in br_mst_set_enabled() argument
1927 return -EOPNOTSUPP; in br_mst_set_enabled()
1938 return -EOPNOTSUPP; in br_mst_fill_info()
1945 return -EOPNOTSUPP; in br_mst_process()
1967 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no);
1971 void __br_set_forward_delay(struct net_bridge *br, unsigned long t);
1972 int br_set_forward_delay(struct net_bridge *br, unsigned long x);
1973 int br_set_hello_time(struct net_bridge *br, unsigned long x);
1974 int br_set_max_age(struct net_bridge *br, unsigned long x);
1976 int br_set_ageing_time(struct net_bridge *br, clock_t ageing_time);
1980 void br_stp_enable_bridge(struct net_bridge *br);
1981 void br_stp_disable_bridge(struct net_bridge *br);
1982 int br_stp_set_enabled(struct net_bridge *br, unsigned long val,
1986 bool br_stp_recalculate_bridge_id(struct net_bridge *br);
1987 void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *a);
1988 void br_stp_set_bridge_priority(struct net_bridge *br, u16 newprio);
1999 void br_stp_timer_init(struct net_bridge *br);
2003 /* br.c */
2010 int br_mrp_parse(struct net_bridge *br, struct net_bridge_port *p,
2012 bool br_mrp_enabled(struct net_bridge *br);
2013 void br_mrp_port_del(struct net_bridge *br, struct net_bridge_port *p);
2014 int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br);
2016 static inline int br_mrp_parse(struct net_bridge *br, struct net_bridge_port *p, in br_mrp_parse() argument
2020 return -EOPNOTSUPP; in br_mrp_parse()
2023 static inline bool br_mrp_enabled(struct net_bridge *br) in br_mrp_enabled() argument
2028 static inline void br_mrp_port_del(struct net_bridge *br, in br_mrp_port_del() argument
2033 static inline int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br) in br_mrp_fill_info() argument
2042 int br_cfm_parse(struct net_bridge *br, struct net_bridge_port *p,
2044 bool br_cfm_created(struct net_bridge *br);
2045 void br_cfm_port_del(struct net_bridge *br, struct net_bridge_port *p);
2046 int br_cfm_config_fill_info(struct sk_buff *skb, struct net_bridge *br);
2048 struct net_bridge *br,
2050 int br_cfm_mep_count(struct net_bridge *br, u32 *count);
2051 int br_cfm_peer_mep_count(struct net_bridge *br, u32 *count);
2053 static inline int br_cfm_parse(struct net_bridge *br, struct net_bridge_port *p, in br_cfm_parse() argument
2057 return -EOPNOTSUPP; in br_cfm_parse()
2060 static inline bool br_cfm_created(struct net_bridge *br) in br_cfm_created() argument
2065 static inline void br_cfm_port_del(struct net_bridge *br, in br_cfm_port_del() argument
2070 static inline int br_cfm_config_fill_info(struct sk_buff *skb, struct net_bridge *br) in br_cfm_config_fill_info() argument
2072 return -EOPNOTSUPP; in br_cfm_config_fill_info()
2076 struct net_bridge *br, in br_cfm_status_fill_info() argument
2079 return -EOPNOTSUPP; in br_cfm_status_fill_info()
2082 static inline int br_cfm_mep_count(struct net_bridge *br, u32 *count) in br_cfm_mep_count() argument
2085 return -EOPNOTSUPP; in br_cfm_mep_count()
2088 static inline int br_cfm_peer_mep_count(struct net_bridge *br, u32 *count) in br_cfm_peer_mep_count() argument
2091 return -EOPNOTSUPP; in br_cfm_peer_mep_count()
2099 void br_ifinfo_notify(int event, const struct net_bridge *br,
2101 void br_info_notify(int event, const struct net_bridge *br,
2108 int br_process_vlan_info(struct net_bridge *br,
2168 void br_switchdev_fdb_notify(struct net_bridge *br,
2177 void br_switchdev_init(struct net_bridge *br);
2181 skb->offload_fwd_mark = 0; in br_switchdev_frame_unmark()
2192 return -EOPNOTSUPP; in br_switchdev_port_offload()
2209 return -EOPNOTSUPP; in br_switchdev_port_replay()
2256 return -EOPNOTSUPP; in br_switchdev_port_vlan_add()
2261 return -EOPNOTSUPP; in br_switchdev_port_vlan_del()
2265 br_switchdev_fdb_notify(struct net_bridge *br, in br_switchdev_fdb_notify() argument
2281 static inline void br_switchdev_init(struct net_bridge *br) in br_switchdev_init() argument
2288 void br_recalculate_neigh_suppress_enabled(struct net_bridge *br);
2289 void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br,
2291 void br_do_suppress_nd(struct sk_buff *skb, struct net_bridge *br,