| /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); 149 br_mdb_entry_skb_get(struct net_bridge_mcast *brmctx, struct sk_buff *skb, in br_mdb_entry_skb_get() argument 152 struct net_bridge *br = brmctx->br; in br_mdb_entry_skb_get() 156 br_multicast_ctx_vlan_global_disabled(brmctx)) in br_mdb_entry_skb_get() [all …]
|
| H A D | br_multicast_eht.c | 36 static void br_multicast_create_eht_set_entry(const struct net_bridge_mcast *brmctx, 395 static void br_eht_convert_host_filter_mode(const struct net_bridge_mcast *brmctx, in br_eht_convert_host_filter_mode() argument 413 br_multicast_create_eht_set_entry(brmctx, pg, &zero_addr, in br_eht_convert_host_filter_mode() 420 static void br_multicast_create_eht_set_entry(const struct net_bridge_mcast *brmctx, in br_multicast_create_eht_set_entry() argument 450 mod_timer(&set_h->timer, jiffies + br_multicast_gmi(brmctx)); in br_multicast_create_eht_set_entry() 451 mod_timer(&eht_set->timer, jiffies + br_multicast_gmi(brmctx)); in br_multicast_create_eht_set_entry() 508 static void __eht_create_set_entries(const struct net_bridge_mcast *brmctx, in __eht_create_set_entries() argument 522 br_multicast_create_eht_set_entry(brmctx, pg, &eht_src_addr, in __eht_create_set_entries() 559 static bool br_multicast_eht_allow(const struct net_bridge_mcast *brmctx, in br_multicast_eht_allow() argument 570 __eht_create_set_entries(brmctx, pg, h_addr, srcs, nsrcs, in br_multicast_eht_allow() [all …]
|
| H A D | br_private.h | 965 int br_multicast_rcv(struct net_bridge_mcast **brmctx, 970 br_mdb_entry_skb_get(struct net_bridge_mcast *brmctx, struct sk_buff *skb, 983 struct net_bridge_mcast *brmctx, 985 int br_multicast_set_router(struct net_bridge_mcast *brmctx, unsigned long val); 991 int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val); 992 int br_multicast_set_igmp_version(struct net_bridge_mcast *brmctx, 995 int br_multicast_set_mld_version(struct net_bridge_mcast *brmctx, 1042 void br_multicast_host_join(const struct net_bridge_mcast *brmctx, 1059 struct net_bridge_mcast *brmctx); 1060 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() 712 struct net_bridge_mcast *brmctx = NULL; in __br_mdb_choose_context() local 716 brmctx = &br->multicast_ctx; in __br_mdb_choose_context() 734 brmctx = &v->br_mcast_ctx; in __br_mdb_choose_context() [all …]
|
| H A D | br_input.c | 85 struct net_bridge_mcast *brmctx; in br_handle_frame_finish() local 108 brmctx = &p->br->multicast_ctx; in br_handle_frame_finish() 156 if (br_multicast_rcv(&brmctx, &pmctx, vlan, skb, vid)) in br_handle_frame_finish() 188 mdst = br_mdb_entry_skb_get(brmctx, skb, vid); in br_handle_frame_finish() 190 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) { in br_handle_frame_finish() 192 br_multicast_is_router(brmctx, skb) || in br_handle_frame_finish() 231 br_multicast_flood(mdst, skb, brmctx, local_rcv, false); in br_handle_frame_finish()
|
| H A D | br_device.c | 35 struct net_bridge_mcast *brmctx = &br->multicast_ctx; in br_dev_xmit() local 98 if (br_multicast_rcv(&brmctx, &pmctx_null, vlan, skb, vid)) { in br_dev_xmit() 103 mdst = br_mdb_entry_skb_get(brmctx, skb, vid); in br_dev_xmit() 105 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) in br_dev_xmit() 106 br_multicast_flood(mdst, skb, brmctx, false, true); in br_dev_xmit()
|
| H A D | br_forward.c | 294 struct net_bridge_mcast *brmctx, in br_multicast_flood() argument 303 rp = br_multicast_get_first_rport_node(brmctx, skb); in br_multicast_flood() 307 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,
|