/openbmc/linux/net/bridge/ |
H A D | br_multicast.c | 53 static void br_multicast_start_querier(struct net_bridge_mcast *brmctx, 55 static void br_ip4_multicast_add_router(struct net_bridge_mcast *brmctx, 57 static void br_ip4_multicast_leave_group(struct net_bridge_mcast *brmctx, 66 static void br_ip6_multicast_add_router(struct net_bridge_mcast *brmctx, 69 static void br_ip6_multicast_leave_group(struct net_bridge_mcast *brmctx, 75 __br_multicast_add_group(struct net_bridge_mcast *brmctx, 84 static void __br_multicast_stop(struct net_bridge_mcast *brmctx); 148 struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge_mcast *brmctx, in br_mdb_get() argument 151 struct net_bridge *br = brmctx->br; in br_mdb_get() 155 br_multicast_ctx_vlan_global_disabled(brmctx)) in br_mdb_get() [all …]
|
H A D | br_multicast_eht.c | 36 static void br_multicast_create_eht_set_entry(const struct net_bridge_mcast *brmctx, 392 static void br_eht_convert_host_filter_mode(const struct net_bridge_mcast *brmctx, in br_eht_convert_host_filter_mode() argument 410 br_multicast_create_eht_set_entry(brmctx, pg, &zero_addr, in br_eht_convert_host_filter_mode() 417 static void br_multicast_create_eht_set_entry(const struct net_bridge_mcast *brmctx, in br_multicast_create_eht_set_entry() argument 447 mod_timer(&set_h->timer, jiffies + br_multicast_gmi(brmctx)); in br_multicast_create_eht_set_entry() 448 mod_timer(&eht_set->timer, jiffies + br_multicast_gmi(brmctx)); in br_multicast_create_eht_set_entry() 505 static void __eht_create_set_entries(const struct net_bridge_mcast *brmctx, in __eht_create_set_entries() argument 519 br_multicast_create_eht_set_entry(brmctx, pg, &eht_src_addr, in __eht_create_set_entries() 556 static bool br_multicast_eht_allow(const struct net_bridge_mcast *brmctx, in br_multicast_eht_allow() argument 567 __eht_create_set_entries(brmctx, pg, h_addr, srcs, nsrcs, in br_multicast_eht_allow() [all …]
|
H A D | br_private.h | 952 int br_multicast_rcv(struct net_bridge_mcast **brmctx, 956 struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge_mcast *brmctx, 969 struct net_bridge_mcast *brmctx, 971 int br_multicast_set_router(struct net_bridge_mcast *brmctx, unsigned long val); 977 int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val); 978 int br_multicast_set_igmp_version(struct net_bridge_mcast *brmctx, 981 int br_multicast_set_mld_version(struct net_bridge_mcast *brmctx, 1022 void br_multicast_host_join(const struct net_bridge_mcast *brmctx, 1039 struct net_bridge_mcast *brmctx); 1040 void br_multicast_ctx_deinit(struct net_bridge_mcast *brmctx); [all …]
|
H A D | br_mdb.c | 50 size_t br_rports_size(const struct net_bridge_mcast *brmctx) in br_rports_size() argument 56 hlist_for_each_entry_rcu(pmctx, &brmctx->ip4_mc_router_list, in br_rports_size() 61 hlist_for_each_entry_rcu(pmctx, &brmctx->ip6_mc_router_list, in br_rports_size() 71 const struct net_bridge_mcast *brmctx) in br_rports_fill_info() argument 73 u16 vid = brmctx->vlan ? brmctx->vlan->vid : 0; in br_rports_fill_info() 79 if (!brmctx->multicast_router || !br_rports_have_mc_router(brmctx)) in br_rports_fill_info() 86 list_for_each_entry_rcu(p, &brmctx->br->port_list, list) { in br_rports_fill_info() 684 struct net_bridge_mcast *brmctx = NULL; in __br_mdb_choose_context() local 688 brmctx = &br->multicast_ctx; in __br_mdb_choose_context() 706 brmctx = &v->br_mcast_ctx; in __br_mdb_choose_context() [all …]
|
H A D | br_input.c | 84 struct net_bridge_mcast *brmctx; in br_handle_frame_finish() local 105 brmctx = &p->br->multicast_ctx; in br_handle_frame_finish() 153 if (br_multicast_rcv(&brmctx, &pmctx, vlan, skb, vid)) in br_handle_frame_finish() 183 mdst = br_mdb_get(brmctx, skb, vid); in br_handle_frame_finish() 185 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) { in br_handle_frame_finish() 187 br_multicast_is_router(brmctx, skb)) { in br_handle_frame_finish() 217 br_multicast_flood(mdst, skb, brmctx, local_rcv, false); in br_handle_frame_finish()
|
H A D | br_device.c | 33 struct net_bridge_mcast *brmctx = &br->multicast_ctx; in br_dev_xmit() local 96 if (br_multicast_rcv(&brmctx, &pmctx_null, vlan, skb, vid)) { in br_dev_xmit() 101 mdst = br_mdb_get(brmctx, skb, vid); in br_dev_xmit() 103 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) in br_dev_xmit() 104 br_multicast_flood(mdst, skb, brmctx, false, true); in br_dev_xmit()
|
H A D | br_forward.c | 289 struct net_bridge_mcast *brmctx, in br_multicast_flood() argument 297 rp = br_multicast_get_first_rport_node(brmctx, skb); in br_multicast_flood() 301 if (br_multicast_should_handle_mode(brmctx, mdst->addr.proto) && in br_multicast_flood()
|
H A D | br_private_mcast_eht.h | 54 bool br_multicast_eht_handle(const struct net_bridge_mcast *brmctx,
|