/freebsd/sys/netinet/ |
H A D | in_mcast.c | 402 imo_match_group(const struct ip_moptions *imo, const struct ifnet *ifp, in imo_match_group() argument 411 IP_MFILTER_FOREACH(imf, &imo->imo_head) { in imo_match_group() 454 imo_multi_filter(const struct ip_moptions *imo, const struct ifnet *ifp, in imo_multi_filter() argument 463 imf = imo_match_group(imo, ifp, group); in imo_multi_filter() 1375 struct ip_moptions *imo; in inp_block_unblock_source() local 1463 imo = inp_findmoptions(inp); in inp_block_unblock_source() 1464 imf = imo_match_group(imo, ifp, &gsa->sa); in inp_block_unblock_source() 1556 struct ip_moptions *imo; in inp_findmoptions() local 1564 imo = malloc(sizeof(*imo), M_IPMOPTS, M_WAITOK); in inp_findmoptions() 1566 imo->imo_multicast_ifp = NULL; in inp_findmoptions() [all …]
|
H A D | ip_output.c | 319 struct ip_moptions *imo, struct inpcb *inp) in ip_output() argument 456 imo != NULL && imo->imo_multicast_ifp != NULL) { in ip_output() 461 ifp = imo->imo_multicast_ifp; in ip_output() 564 if (imo != NULL) { in ip_output() 565 ip->ip_ttl = imo->imo_multicast_ttl; in ip_output() 566 if (imo->imo_multicast_vif != -1) in ip_output() 569 ip_mcast_src(imo->imo_multicast_vif) : in ip_output() 576 if ((imo == NULL) || (imo->imo_multicast_vif == -1)) { in ip_output() 590 if ((imo == NULL && in_mcast_loop) || in ip_output() 591 (imo && imo->imo_multicast_loop)) { in ip_output() [all …]
|
H A D | ip_mroute.c | 1322 struct ip_moptions *imo) in X_ip_mforward() argument 1355 if (imo && ((vifi = imo->imo_multicast_vif) < V_numvifs)) { in X_ip_mforward() 1788 struct ip_moptions imo; in send_packet() local 1794 imo.imo_multicast_ifp = vifp->v_ifp; in send_packet() 1795 imo.imo_multicast_ttl = mtod(m, struct ip *)->ip_ttl - 1; in send_packet() 1796 imo.imo_multicast_loop = !!in_mcast_loop; in send_packet() 1797 imo.imo_multicast_vif = -1; in send_packet() 1798 STAILQ_INIT(&imo.imo_head); in send_packet() 1806 error = ip_output(m, NULL, NULL, IP_FORWARDING, &imo, NULL); in send_packet()
|
H A D | ip_carp.c | 1893 struct ip_moptions *imo = &cif->cif_imo; in carp_multicast_setup() local 1897 if (ip_mfilter_first(&imo->imo_head) != NULL) in carp_multicast_setup() 1901 ip_mfilter_init(&imo->imo_head); in carp_multicast_setup() 1902 imo->imo_multicast_vif = -1; in carp_multicast_setup() 1911 ip_mfilter_insert(&imo->imo_head, imf); in carp_multicast_setup() 1912 imo->imo_multicast_ifp = ifp; in carp_multicast_setup() 1913 imo->imo_multicast_ttl = CARP_DFLTTL; in carp_multicast_setup() 1914 imo->imo_multicast_loop = 0; in carp_multicast_setup() 1987 struct ip_moptions *imo = &cif->cif_imo; in carp_multicast_cleanup() local 2002 while ((imf = ip_mfilter_first(&imo->imo_head)) != NULL) { in carp_multicast_cleanup() [all …]
|
H A D | in_pcb.c | 1763 struct ip_moptions *imo; in in_pcbfree() local 1807 imo = inp->inp_moptions; in in_pcbfree() 1827 inp_freemoptions(imo); in in_pcbfree() 1926 struct ip_moptions *imo; in in_pcbpurgeif0() local 1933 imo = inp->inp_moptions; in in_pcbpurgeif0() 1938 if (imo->imo_multicast_ifp == ifp) in in_pcbpurgeif0() 1939 imo->imo_multicast_ifp = NULL; in in_pcbpurgeif0() 1948 IP_MFILTER_FOREACH(imf, &imo->imo_head) { in in_pcbpurgeif0() 1953 ip_mfilter_remove(&imo->imo_head, imf); in in_pcbpurgeif0()
|
H A D | igmp.c | 3446 struct ip_moptions imo; in igmp_intr() local 3479 imo.imo_multicast_ttl = 1; in igmp_intr() 3480 imo.imo_multicast_vif = -1; in igmp_intr() 3481 imo.imo_multicast_loop = (V_ip_mrouter != NULL); in igmp_intr() 3490 imo.imo_multicast_ifp = V_loif; in igmp_intr() 3492 imo.imo_multicast_ifp = ifp; in igmp_intr() 3512 error = ip_output(m0, ipopts, NULL, 0, &imo, NULL); in igmp_intr()
|
H A D | udp_usrreq.c | 393 struct ip_moptions *imo; in udp_multi_input() local 397 imo = inp->inp_moptions; in udp_multi_input() 398 if (imo == NULL) in udp_multi_input() 405 blocked = imo_multi_filter(imo, m->m_pkthdr.rcvif, in udp_multi_input()
|
/freebsd/sys/netinet6/ |
H A D | in6_mcast.c | 258 im6o_match_group(const struct ip6_moptions *imo, const struct ifnet *ifp, in im6o_match_group() argument 267 IP6_MFILTER_FOREACH(imf, &imo->im6o_head) { in im6o_match_group() 315 im6o_mc_filter(const struct ip6_moptions *imo, const struct ifnet *ifp, in im6o_mc_filter() argument 324 imf = im6o_match_group(imo, ifp, group); in im6o_mc_filter() 1431 struct ip6_moptions *imo; in in6p_block_unblock_source() local 1495 imo = in6p_findmoptions(inp); in in6p_block_unblock_source() 1496 imf = im6o_match_group(imo, ifp, &gsa->sa); in in6p_block_unblock_source() 1587 struct ip6_moptions *imo; in in6p_findmoptions() local 1595 imo = malloc(sizeof(*imo), M_IP6MOPTS, M_WAITOK); in in6p_findmoptions() 1597 imo->im6o_multicast_ifp = NULL; in in6p_findmoptions() [all …]
|
H A D | udp6_usrreq.c | 253 struct ip6_moptions *imo; in udp6_multi_input() local 286 if ((imo = inp->in6p_moptions) != NULL) { in udp6_multi_input() 295 blocked = im6o_mc_filter(imo, m->m_pkthdr.rcvif, in udp6_multi_input()
|
/freebsd/sys/netpfil/pf/ |
H A D | if_pfsync.c | 2804 struct ip_moptions *imo = &sc->sc_imo; in pfsync_multicast_setup() local 2820 ip_mfilter_init(&imo->imo_head); in pfsync_multicast_setup() 2821 imo->imo_multicast_vif = -1; in pfsync_multicast_setup() 2827 ip_mfilter_insert(&imo->imo_head, imf); in pfsync_multicast_setup() 2828 imo->imo_multicast_ifp = ifp; in pfsync_multicast_setup() 2829 imo->imo_multicast_ttl = PFSYNC_DFLTTL; in pfsync_multicast_setup() 2830 imo->imo_multicast_loop = 0; in pfsync_multicast_setup() 2864 struct ip_moptions *imo = &sc->sc_imo; in pfsync_multicast_cleanup() local 2867 while ((imf = ip_mfilter_first(&imo->imo_head)) != NULL) { in pfsync_multicast_cleanup() 2868 ip_mfilter_remove(&imo->imo_head, imf); in pfsync_multicast_cleanup() [all …]
|