• Home
  • Raw
  • Download

Lines Matching refs:src

60 					 const unsigned char *src);
71 __u16 vid, const unsigned char *src);
77 const unsigned char *src,
170 ip.src.ip4 = ip_hdr(skb)->saddr; in br_mdb_get()
174 ip.src.ip4 = 0; in br_mdb_get()
183 ip.src.ip6 = ipv6_hdr(skb)->saddr; in br_mdb_get()
187 memset(&ip.src.ip6, 0, sizeof(ip.src.ip6)); in br_mdb_get()
257 const unsigned char *src) in br_port_group_equal() argument
265 return ether_addr_equal(src, p->eth_addr); in br_port_group_equal()
351 sg_ip.src = src_ent->addr.src; in br_multicast_star_g_handle_mode()
402 sg_ip.src = src_ent->addr.src; in br_multicast_star_g_host_state()
491 static void br_multicast_fwd_src_add(struct net_bridge_group_src *src) in br_multicast_fwd_src_add() argument
499 if (src->flags & BR_SGRP_F_INSTALLED) in br_multicast_fwd_src_add()
503 pmctx = br_multicast_pg_to_port_ctx(src->pg); in br_multicast_fwd_src_add()
507 sg_ip = src->pg->key.addr; in br_multicast_fwd_src_add()
508 sg_ip.src = src->addr.src; in br_multicast_fwd_src_add()
511 src->pg->eth_addr, MCAST_INCLUDE, false, in br_multicast_fwd_src_add()
512 !timer_pending(&src->timer)); in br_multicast_fwd_src_add()
515 src->flags |= BR_SGRP_F_INSTALLED; in br_multicast_fwd_src_add()
525 star_mp = br_mdb_ip_get(src->br, &src->pg->key.addr); in br_multicast_fwd_src_add()
532 static void br_multicast_fwd_src_remove(struct net_bridge_group_src *src, in br_multicast_fwd_src_remove() argument
535 struct net_bridge_port_group *p, *pg = src->pg; in br_multicast_fwd_src_remove()
542 sg_ip.src = src->addr.src; in br_multicast_fwd_src_remove()
544 mp = br_mdb_ip_get(src->br, &sg_ip); in br_multicast_fwd_src_remove()
549 (p = mlock_dereference(*pp, src->br)) != NULL; in br_multicast_fwd_src_remove()
563 src->flags &= ~BR_SGRP_F_INSTALLED; in br_multicast_fwd_src_remove()
567 static void br_multicast_fwd_src_handle(struct net_bridge_group_src *src) in br_multicast_fwd_src_handle() argument
573 br_multicast_fwd_src_add(src); in br_multicast_fwd_src_handle()
576 sg_key.addr = src->pg->key.addr; in br_multicast_fwd_src_handle()
577 sg_key.addr.src = src->addr.src; in br_multicast_fwd_src_handle()
578 sg_key.port = src->pg->key.port; in br_multicast_fwd_src_handle()
580 sg = br_sg_port_find(src->br, &sg_key); in br_multicast_fwd_src_handle()
585 if (timer_pending(&src->timer)) in br_multicast_fwd_src_handle()
593 sg_mp = br_mdb_ip_get(src->br, &sg_key.addr); in br_multicast_fwd_src_handle()
596 br_mdb_notify(src->br->dev, sg_mp, sg, RTM_NEWMDB); in br_multicast_fwd_src_handle()
644 struct net_bridge_group_src *src; in br_multicast_destroy_group_src() local
646 src = container_of(gc, struct net_bridge_group_src, mcast_gc); in br_multicast_destroy_group_src()
647 WARN_ON(!hlist_unhashed(&src->node)); in br_multicast_destroy_group_src()
649 del_timer_sync(&src->timer); in br_multicast_destroy_group_src()
650 kfree_rcu(src, rcu); in br_multicast_destroy_group_src()
653 void br_multicast_del_group_src(struct net_bridge_group_src *src, in br_multicast_del_group_src() argument
656 struct net_bridge *br = src->pg->key.port->br; in br_multicast_del_group_src()
658 br_multicast_fwd_src_remove(src, fastleave); in br_multicast_del_group_src()
659 hlist_del_init_rcu(&src->node); in br_multicast_del_group_src()
660 src->pg->src_ents--; in br_multicast_del_group_src()
661 hlist_add_head(&src->mcast_gc.gc_node, &br->mcast_gc_list); in br_multicast_del_group_src()
919 ihv3->srcs[lmqt_srcs++] = ent->addr.src.ip4; in br_ip4_multicast_alloc_query()
1082 mld2q->mld2q_srcs[llqt_srcs++] = ent->addr.src.ip6; in br_ip6_multicast_alloc_query()
1189 struct net_bridge_group_src *src = from_timer(src, t, timer); in br_multicast_group_src_expired() local
1191 struct net_bridge *br = src->br; in br_multicast_group_src_expired()
1194 if (hlist_unhashed(&src->node) || !netif_running(br->dev) || in br_multicast_group_src_expired()
1195 timer_pending(&src->timer)) in br_multicast_group_src_expired()
1198 pg = src->pg; in br_multicast_group_src_expired()
1200 br_multicast_del_group_src(src, false); in br_multicast_group_src_expired()
1205 br_multicast_fwd_src_handle(src); in br_multicast_group_src_expired()
1220 if (ip->src.ip4 == ent->addr.src.ip4) in br_multicast_find_group_src()
1226 if (!ipv6_addr_cmp(&ent->addr.src.ip6, &ip->src.ip6)) in br_multicast_find_group_src()
1245 if (ipv4_is_zeronet(src_ip->src.ip4) || in br_multicast_new_group_src()
1246 ipv4_is_multicast(src_ip->src.ip4)) in br_multicast_new_group_src()
1251 if (ipv6_addr_any(&src_ip->src.ip6) || in br_multicast_new_group_src()
1252 ipv6_addr_is_multicast(&src_ip->src.ip6)) in br_multicast_new_group_src()
1279 const unsigned char *src, in br_multicast_new_port_group() argument
1311 if (src) in br_multicast_new_port_group()
1312 memcpy(p->eth_addr, src, ETH_ALEN); in br_multicast_new_port_group()
1352 const unsigned char *src, in __br_multicast_add_group() argument
1377 if (br_port_group_equal(p, pmctx->port, src)) in __br_multicast_add_group()
1383 p = br_multicast_new_port_group(pmctx->port, group, *pp, 0, src, in __br_multicast_add_group()
1406 const unsigned char *src, in br_multicast_add_group() argument
1414 pg = __br_multicast_add_group(brmctx, pmctx, group, src, filter_mode, in br_multicast_add_group()
1427 const unsigned char *src, in br_ip4_multicast_add_group() argument
1442 return br_multicast_add_group(brmctx, pmctx, &br_group, src, in br_ip4_multicast_add_group()
1451 const unsigned char *src, in br_ip6_multicast_add_group() argument
1466 return br_multicast_add_group(brmctx, pmctx, &br_group, src, in br_ip6_multicast_add_group()
1619 brmctx->ip4_querier.addr.src.ip4 = ip_hdr(skb)->saddr; in br_multicast_select_own_querier()
1622 brmctx->ip6_querier.addr.src.ip6 = ipv6_hdr(skb)->saddr; in br_multicast_select_own_querier()
1990 static void __grp_src_mod_timer(struct net_bridge_group_src *src, in __grp_src_mod_timer() argument
1993 mod_timer(&src->timer, expires); in __grp_src_mod_timer()
1994 br_multicast_fwd_src_handle(src); in __grp_src_mod_timer()
2098 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in br_multicast_isinc_allow()
2137 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_isexc_incl()
2176 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_isexc_excl()
2248 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_toin_incl()
2296 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_toin_excl()
2377 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_toex_incl()
2422 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_toex_excl()
2497 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_block_incl()
2535 memcpy(&src_ip.src, srcs + (src_idx * addr_size), addr_size); in __grp_src_block_excl()
2595 const unsigned char *src) in br_multicast_find_port() argument
2603 if (br_port_group_equal(pg, p, src)) in br_multicast_find_port()
2617 const unsigned char *src; in br_ip4_multicast_igmp3_report() local
2657 src = eth_hdr(skb)->h_source; in br_ip4_multicast_igmp3_report()
2663 group, vid, src); in br_ip4_multicast_igmp3_report()
2668 vid, src, igmpv2); in br_ip4_multicast_igmp3_report()
2683 pg = br_multicast_find_port(mdst, pmctx->port, src); in br_ip4_multicast_igmp3_report()
2741 const unsigned char *src; in br_ip6_multicast_mld2_report() local
2793 src = eth_hdr(skb)->h_source; in br_ip6_multicast_mld2_report()
2800 vid, src); in br_ip6_multicast_mld2_report()
2806 src, mldv1); in br_ip6_multicast_mld2_report()
2821 pg = br_multicast_find_port(mdst, pmctx->port, src); in br_ip6_multicast_mld2_report()
2886 if (!querier->addr.src.ip4 || in br_multicast_select_querier()
2887 ntohl(saddr->src.ip4) <= ntohl(querier->addr.src.ip4)) in br_multicast_select_querier()
2895 if (ipv6_addr_cmp(&saddr->src.ip6, &querier->addr.src.ip6) <= 0) in br_multicast_select_querier()
2973 querier.addr.src.ip4)) { in br_multicast_dump_querier_state()
2996 &querier.addr.src.ip6)) { in br_multicast_dump_querier_state()
3294 saddr.src.ip4 = iph->saddr; in br_ip4_multicast_query()
3382 saddr.src.ip6 = ipv6_hdr(skb)->saddr; in br_ip6_multicast_query()
3426 const unsigned char *src) in br_multicast_leave_group() argument
3447 if (!br_port_group_equal(p, pmctx->port, src)) in br_multicast_leave_group()
3474 if (!br_port_group_equal(p, pmctx->port, src)) in br_multicast_leave_group()
3526 const unsigned char *src) in br_ip4_multicast_leave_group() argument
3543 own_query, src); in br_ip4_multicast_leave_group()
3551 const unsigned char *src) in br_ip6_multicast_leave_group() argument
3568 own_query, src); in br_ip6_multicast_leave_group()
3643 const unsigned char *src; in br_multicast_ipv4_rcv() local
3666 src = eth_hdr(skb)->h_source; in br_multicast_ipv4_rcv()
3674 src, true); in br_multicast_ipv4_rcv()
3683 br_ip4_multicast_leave_group(brmctx, pmctx, ih->group, vid, src); in br_multicast_ipv4_rcv()
3712 const unsigned char *src; in br_multicast_ipv6_rcv() local
3736 src = eth_hdr(skb)->h_source; in br_multicast_ipv6_rcv()
3739 vid, src, true); in br_multicast_ipv6_rcv()
3748 src = eth_hdr(skb)->h_source; in br_multicast_ipv6_rcv()
3750 src); in br_multicast_ipv6_rcv()
4883 static noinline_for_stack void mcast_stats_add_dir(u64 *dst, u64 *src) in mcast_stats_add_dir() argument
4885 dst[BR_MCAST_DIR_RX] += src[BR_MCAST_DIR_RX]; in mcast_stats_add_dir()
4886 dst[BR_MCAST_DIR_TX] += src[BR_MCAST_DIR_TX]; in mcast_stats_add_dir()