/kernel/linux/linux-5.10/net/bridge/ |
H A D | br_input.c | 83 struct net_bridge_mdb_entry *mdst; in br_handle_frame_finish() local 142 mdst = br_mdb_get(br, skb, vid); in br_handle_frame_finish() 143 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && in br_handle_frame_finish() 145 if ((mdst && mdst->host_joined) || in br_handle_frame_finish() 175 br_multicast_flood(mdst, skb, local_rcv, false); in br_handle_frame_finish()
|
H A D | br_forward.c | 269 void br_multicast_flood(struct net_bridge_mdb_entry *mdst, in br_multicast_flood() argument 281 if (mdst) { in br_multicast_flood() 282 p = rcu_dereference(mdst->ports); in br_multicast_flood() 283 if (br_multicast_should_handle_mode(br, mdst->addr.proto) && in br_multicast_flood() 284 br_multicast_is_star_g(&mdst->addr)) in br_multicast_flood()
|
H A D | br_device.c | 32 struct net_bridge_mdb_entry *mdst; in br_dev_xmit() local 94 mdst = br_mdb_get(br, skb, vid); in br_dev_xmit() 95 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && in br_dev_xmit() 97 br_multicast_flood(mdst, skb, false, true); in br_dev_xmit()
|
H A D | br_multicast.c | 2249 struct net_bridge_mdb_entry *mdst; in br_ip4_multicast_igmp3_report() local 2310 mdst = br_mdb_ip4_get(br, group, vid); in br_ip4_multicast_igmp3_report() 2311 if (!mdst) in br_ip4_multicast_igmp3_report() 2313 pg = br_multicast_find_port(mdst, port, src); in br_ip4_multicast_igmp3_report() 2345 br_mdb_notify(br->dev, mdst, pg, RTM_NEWMDB); in br_ip4_multicast_igmp3_report() 2360 struct net_bridge_mdb_entry *mdst; in br_ip6_multicast_mld2_report() local 2437 mdst = br_mdb_ip6_get(br, &grec->grec_mca, vid); in br_ip6_multicast_mld2_report() 2438 if (!mdst) in br_ip6_multicast_mld2_report() 2440 pg = br_multicast_find_port(mdst, port, src); in br_ip6_multicast_mld2_report() 2471 br_mdb_notify(br->dev, mdst, p in br_ip6_multicast_mld2_report() [all...] |
H A D | br_private.h | 800 void br_multicast_flood(struct net_bridge_mdb_entry *mdst, 992 static inline void br_multicast_flood(struct net_bridge_mdb_entry *mdst, in br_multicast_flood() argument
|
/kernel/linux/linux-6.6/net/bridge/ |
H A D | br_forward.c | 282 void br_multicast_flood(struct net_bridge_mdb_entry *mdst, in br_multicast_flood() argument 294 if (mdst) { in br_multicast_flood() 295 p = rcu_dereference(mdst->ports); in br_multicast_flood() 296 if (br_multicast_should_handle_mode(brmctx, mdst->addr.proto) && in br_multicast_flood() 297 br_multicast_is_star_g(&mdst->addr)) in br_multicast_flood()
|
H A D | br_input.c | 80 struct net_bridge_mdb_entry *mdst; in br_handle_frame_finish() local 178 mdst = br_mdb_get(brmctx, skb, vid); in br_handle_frame_finish() 179 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && in br_handle_frame_finish() 180 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) { in br_handle_frame_finish() 181 if ((mdst && mdst->host_joined) || in br_handle_frame_finish() 212 br_multicast_flood(mdst, skb, brmctx, local_rcv, false); in br_handle_frame_finish()
|
H A D | br_device.c | 34 struct net_bridge_mdb_entry *mdst; in br_dev_xmit() local 95 mdst = br_mdb_get(brmctx, skb, vid); in br_dev_xmit() 96 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && in br_dev_xmit() 97 br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) in br_dev_xmit() 98 br_multicast_flood(mdst, skb, brmctx, false, true); in br_dev_xmit()
|
H A D | br_multicast.c | 2788 struct net_bridge_mdb_entry *mdst; in br_ip4_multicast_igmp3_report() local 2853 mdst = br_mdb_ip4_get(brmctx->br, group, vid); in br_ip4_multicast_igmp3_report() 2854 if (!mdst) in br_ip4_multicast_igmp3_report() 2856 pg = br_multicast_find_port(mdst, pmctx->port, src); in br_ip4_multicast_igmp3_report() 2895 br_mdb_notify(brmctx->br->dev, mdst, pg, RTM_NEWMDB); in br_ip4_multicast_igmp3_report() 2910 struct net_bridge_mdb_entry *mdst; in br_ip6_multicast_mld2_report() local 2991 mdst = br_mdb_ip6_get(brmctx->br, &grec->grec_mca, vid); in br_ip6_multicast_mld2_report() 2992 if (!mdst) in br_ip6_multicast_mld2_report() 2994 pg = br_multicast_find_port(mdst, pmctx->port, src); in br_ip6_multicast_mld2_report() 3037 br_mdb_notify(brmctx->br->dev, mdst, p in br_ip6_multicast_mld2_report() [all...] |
H A D | br_private.h | 967 void br_multicast_flood(struct net_bridge_mdb_entry *mdst, struct sk_buff *skb, 1392 static inline void br_multicast_flood(struct net_bridge_mdb_entry *mdst, in br_multicast_flood() argument
|