| /src/sys/netinet/ |
| H A D | in_mcast.c | 400 imo_match_group(const struct ip_moptions *imo, const struct ifnet *ifp, in imo_match_group() argument 409 IP_MFILTER_FOREACH(imf, &imo->imo_head) { in imo_match_group() 452 imo_multi_filter(const struct ip_moptions *imo, const struct ifnet *ifp, in imo_multi_filter() argument 461 imf = imo_match_group(imo, ifp, group); in imo_multi_filter() 1373 struct ip_moptions *imo; in inp_block_unblock_source() local 1461 imo = inp_findmoptions(inp); in inp_block_unblock_source() 1462 imf = imo_match_group(imo, ifp, &gsa->sa); in inp_block_unblock_source() 1554 struct ip_moptions *imo; in inp_findmoptions() local 1562 imo = malloc(sizeof(*imo), M_IPMOPTS, M_WAITOK); in inp_findmoptions() 1564 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 | 1321 struct ip_moptions *imo) in X_ip_mforward() argument 1354 if (imo && ((vifi = imo->imo_multicast_vif) < V_numvifs)) { in X_ip_mforward() 1790 struct ip_moptions imo; in send_packet() local 1796 imo.imo_multicast_ifp = vifp->v_ifp; in send_packet() 1797 imo.imo_multicast_ttl = mtod(m, struct ip *)->ip_ttl - 1; in send_packet() 1798 imo.imo_multicast_loop = !!in_mcast_loop; in send_packet() 1799 imo.imo_multicast_vif = -1; in send_packet() 1800 STAILQ_INIT(&imo.imo_head); in send_packet() 1808 error = ip_output(m, NULL, NULL, IP_FORWARDING, &imo, NULL); in send_packet()
|
| H A D | ip_carp.c | 1906 struct ip_moptions *imo = &cif->cif_imo; in carp_multicast_setup() local 1910 if (ip_mfilter_first(&imo->imo_head) != NULL) in carp_multicast_setup() 1914 ip_mfilter_init(&imo->imo_head); in carp_multicast_setup() 1915 imo->imo_multicast_vif = -1; in carp_multicast_setup() 1924 ip_mfilter_insert(&imo->imo_head, imf); in carp_multicast_setup() 1925 imo->imo_multicast_ifp = ifp; in carp_multicast_setup() 1926 imo->imo_multicast_ttl = CARP_DFLTTL; in carp_multicast_setup() 1927 imo->imo_multicast_loop = 0; in carp_multicast_setup() 2000 struct ip_moptions *imo = &cif->cif_imo; in carp_multicast_cleanup() local 2015 while ((imf = ip_mfilter_first(&imo->imo_head)) != NULL) { in carp_multicast_cleanup() [all …]
|
| H A D | in_pcb.c | 1778 struct ip_moptions *imo; in in_pcbfree() local 1822 imo = inp->inp_moptions; in in_pcbfree() 1842 inp_freemoptions(imo); in in_pcbfree() 1941 struct ip_moptions *imo; in in_pcbpurgeif0() local 1948 imo = inp->inp_moptions; in in_pcbpurgeif0() 1953 if (imo->imo_multicast_ifp == ifp) in in_pcbpurgeif0() 1954 imo->imo_multicast_ifp = NULL; in in_pcbpurgeif0() 1963 IP_MFILTER_FOREACH(imf, &imo->imo_head) { in in_pcbpurgeif0() 1968 ip_mfilter_remove(&imo->imo_head, imf); in in_pcbpurgeif0()
|
| H A D | igmp.c | 3457 struct ip_moptions imo; in igmp_intr() local 3490 imo.imo_multicast_ttl = 1; in igmp_intr() 3491 imo.imo_multicast_vif = -1; in igmp_intr() 3492 imo.imo_multicast_loop = V_ip_mrouting_enabled; in igmp_intr() 3501 imo.imo_multicast_ifp = V_loif; in igmp_intr() 3503 imo.imo_multicast_ifp = ifp; in igmp_intr() 3523 error = ip_output(m0, ipopts, NULL, 0, &imo, NULL); in igmp_intr()
|
| H A D | udp_usrreq.c | 400 struct ip_moptions *imo; in udp_multi_input() local 404 imo = inp->inp_moptions; in udp_multi_input() 405 if (imo == NULL) in udp_multi_input() 412 blocked = imo_multi_filter(imo, m->m_pkthdr.rcvif, in udp_multi_input()
|
| /src/sys/netinet6/ |
| H A D | in6_mcast.c | 257 im6o_match_group(const struct ip6_moptions *imo, const struct ifnet *ifp, in im6o_match_group() argument 266 IP6_MFILTER_FOREACH(imf, &imo->im6o_head) { in im6o_match_group() 314 im6o_mc_filter(const struct ip6_moptions *imo, const struct ifnet *ifp, in im6o_mc_filter() argument 323 imf = im6o_match_group(imo, ifp, group); in im6o_mc_filter() 1430 struct ip6_moptions *imo; in in6p_block_unblock_source() local 1494 imo = in6p_findmoptions(inp); in in6p_block_unblock_source() 1495 imf = im6o_match_group(imo, ifp, &gsa->sa); in in6p_block_unblock_source() 1586 struct ip6_moptions *imo; in in6p_findmoptions() local 1594 imo = malloc(sizeof(*imo), M_IP6MOPTS, M_WAITOK); in in6p_findmoptions() 1596 imo->im6o_multicast_ifp = NULL; in in6p_findmoptions() [all …]
|
| H A D | udp6_usrreq.c | 257 struct ip6_moptions *imo; in udp6_multi_input() local 290 if ((imo = inp->in6p_moptions) != NULL) { in udp6_multi_input() 299 blocked = im6o_mc_filter(imo, m->m_pkthdr.rcvif, in udp6_multi_input()
|
| /src/sys/netpfil/pf/ |
| H A D | if_pfsync.c | 2964 struct ip_moptions *imo = &sc->sc_imo; in pfsync_multicast_setup() local 2980 ip_mfilter_init(&imo->imo_head); in pfsync_multicast_setup() 2981 imo->imo_multicast_vif = -1; in pfsync_multicast_setup() 2987 ip_mfilter_insert(&imo->imo_head, imf); in pfsync_multicast_setup() 2988 imo->imo_multicast_ifp = ifp; in pfsync_multicast_setup() 2989 imo->imo_multicast_ttl = PFSYNC_DFLTTL; in pfsync_multicast_setup() 2990 imo->imo_multicast_loop = 0; in pfsync_multicast_setup() 3024 struct ip_moptions *imo = &sc->sc_imo; in pfsync_multicast_cleanup() local 3027 while ((imf = ip_mfilter_first(&imo->imo_head)) != NULL) { in pfsync_multicast_cleanup() 3028 ip_mfilter_remove(&imo->imo_head, imf); in pfsync_multicast_cleanup() [all …]
|