#include <linux/config.h>#include <asm/uaccess.h>#include <asm/system.h>#include <linux/types.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/string.h>#include <linux/socket.h>#include <linux/sockios.h>#include <linux/in.h>#include <linux/inet.h>#include <linux/netdevice.h>#include <linux/skbuff.h>#include <linux/inetdevice.h>#include <linux/igmp.h>#include <linux/if_arp.h>#include <linux/rtnetlink.h>#include <net/ip.h>#include <net/protocol.h>#include <net/route.h>#include <net/sock.h>#include <net/checksum.h>#include <linux/netfilter_ipv4.h>Go to the source code of this file.
Defines | |
| #define | IP_MAX_MEMBERSHIPS 20 |
Functions | |
| void | ip_mc_clear_src (struct ip_mc_list *pmc) |
| int | ip_mc_add_src (struct in_device *in_dev, __u32 *pmca, int sfmode, int sfcount, __u32 *psfsrc, int delta) |
| void | ip_ma_put (struct ip_mc_list *im) |
| void | ip_mc_filter_add (struct in_device *in_dev, u32 addr) |
| void | ip_mc_filter_del (struct in_device *in_dev, u32 addr) |
| void | igmp_group_dropped (struct ip_mc_list *im) |
| void | igmp_group_added (struct ip_mc_list *im) |
| void | ip_mc_inc_group (struct in_device *in_dev, u32 addr) |
| void | ip_mc_dec_group (struct in_device *in_dev, u32 addr) |
| void | ip_mc_down (struct in_device *in_dev) |
| void | ip_mc_up (struct in_device *in_dev) |
| void | ip_mc_destroy_dev (struct in_device *in_dev) |
| in_device * | ip_mc_find_dev (struct ip_mreqn *imr) |
| int | ip_mc_del1_src (struct ip_mc_list *pmc, int sfmode, __u32 *psfsrc) |
| int | ip_mc_del_src (struct in_device *in_dev, __u32 *pmca, int sfmode, int sfcount, __u32 *psfsrc, int delta) |
| int | ip_mc_add1_src (struct ip_mc_list *pmc, int sfmode, __u32 *psfsrc, int delta) |
| int | ip_mc_join_group (struct sock *sk, struct ip_mreqn *imr) |
| int | ip_mc_leave_src (struct sock *sk, struct ip_mc_socklist *iml, struct in_device *in_dev) |
| int | ip_mc_leave_group (struct sock *sk, struct ip_mreqn *imr) |
| int | ip_mc_source (int add, int omode, struct sock *sk, struct ip_mreq_source *mreqs, int ifindex) |
| int | ip_mc_msfilter (struct sock *sk, struct ip_msfilter *msf, int ifindex) |
| int | ip_mc_msfget (struct sock *sk, struct ip_msfilter *msf, struct ip_msfilter *optval, int *optlen) |
| int | ip_mc_gsfget (struct sock *sk, struct group_filter *gsf, struct group_filter *optval, int *optlen) |
| int | ip_mc_sf_allow (struct sock *sk, u32 loc_addr, u32 rmt_addr, int dif) |
| void | ip_mc_drop_socket (struct sock *sk) |
| int | ip_check_mc (struct in_device *in_dev, u32 mc_addr, u32 src_addr) |
| int | ip_mc_procinfo (char *buffer, char **start, off_t offset, int length) |
| int | ip_mcf_procinfo (char *buffer, char **start, off_t offset, int length) |
Variables | |
| int | sysctl_igmp_max_memberships = IP_MAX_MEMBERSHIPS |
|
|
|
Definition at line 1072 of file igmp.c. References ip_mc_filter_add(), and in_device::mr_qrv. Referenced by ip_mc_inc_group(), and ip_mc_up().
|
|
|
Definition at line 1035 of file igmp.c. References in_device::dev, net_device::flags, ip_mc_clear_src(), and ip_mc_filter_del(). Referenced by ip_mc_dec_group(), ip_mc_destroy_dev(), and ip_mc_down().
|
|
||||||||||||||||
|
Definition at line 2056 of file igmp.c. References in_device::lock, in_device::mc_list, MCAST_EXCLUDE, and MCAST_INCLUDE. Referenced by ip_route_input(), and ip_route_output_slow().
|
|
|
Definition at line 140 of file igmp.c. References in_dev_put(). Referenced by ip_mc_dec_group(), and ip_mc_destroy_dev().
|
|
||||||||||||||||||||
|
Definition at line 1418 of file igmp.c. References ip_rt_multicast_event(). Referenced by ip_mc_add_src().
|
|
||||||||||||||||||||||||||||
|
Definition at line 1488 of file igmp.c. References ip_mc_add1_src(), ip_mc_del1_src(), in_device::lock, in_device::mc_list, MCAST_EXCLUDE, MCAST_INCLUDE, in_device::mr_ifc_count, and in_device::mr_qrv. Referenced by ip_mc_inc_group(), ip_mc_msfilter(), and ip_mc_source().
|
|
|
Definition at line 1556 of file igmp.c. References MCAST_EXCLUDE. Referenced by igmp_group_dropped().
|
|
||||||||||||
|
Definition at line 1168 of file igmp.c. References in_device::dev, net_device::flags, igmp_group_dropped(), ip_ma_put(), ip_rt_multicast_event(), in_device::lock, and in_device::mc_list. Referenced by ip_mc_down(), ip_mc_drop_socket(), and ip_mc_leave_group().
|
|
||||||||||||||||
|
Definition at line 1307 of file igmp.c. References ip_rt_multicast_event(), MCAST_EXCLUDE, MCAST_INCLUDE, and in_device::mr_qrv. Referenced by ip_mc_add_src(), and ip_mc_del_src().
|
|
||||||||||||||||||||||||||||
|
Definition at line 1352 of file igmp.c. References ip_mc_del1_src(), in_device::lock, in_device::mc_list, MCAST_EXCLUDE, MCAST_INCLUDE, in_device::mr_ifc_count, and in_device::mr_qrv. Referenced by ip_mc_leave_src(), ip_mc_msfilter(), and ip_mc_source().
|
|
|
Definition at line 1252 of file igmp.c. References igmp_group_dropped(), ip_ma_put(), in_device::lock, and in_device::mc_list. Referenced by inetdev_destroy().
|
|
|
Definition at line 1195 of file igmp.c. References __in_dev_put, igmp_group_dropped(), ip_mc_dec_group(), in_device::mc_list, in_device::mr_gq_running, in_device::mr_gq_timer, in_device::mr_ifc_count, and in_device::mr_ifc_timer. Referenced by inetdev_event().
|
|
|
Definition at line 2032 of file igmp.c. References in_dev_put(), inetdev_by_index(), ip_mc_dec_group(), ip_mc_leave_src(), in_device::mc_list, sock::protinfo, rtnl_lock(), rtnl_unlock(), and sock_kfree_s(). Referenced by inet_release().
|
|
||||||||||||
|
Definition at line 902 of file igmp.c. References net_device::addr_len, arp_mc_map(), in_device::dev, dev_mc_add(), and MAX_ADDR_LEN. Referenced by igmp_group_added().
|
|
||||||||||||
|
Definition at line 922 of file igmp.c. References net_device::addr_len, arp_mc_map(), in_device::dev, dev_mc_delete(), and MAX_ADDR_LEN. Referenced by igmp_group_dropped().
|
|
|
Definition at line 1271 of file igmp.c. References __dev_put, __in_dev_get(), __in_dev_put, net_device::ifindex, ip_mreqn::imr_address, ip_mreqn::imr_ifindex, ip_mreqn::imr_multiaddr, inetdev_by_index(), ip_dev_find(), ip_route_output(), ip_rt_put(), and in_addr::s_addr. Referenced by ip_mc_join_group(), ip_mc_msfget(), ip_mc_msfilter(), and ip_mc_source().
|
|
||||||||||||||||||||
|
Definition at line 1938 of file igmp.c. References group_filter::gf_fmode, group_filter::gf_group, group_filter::gf_interface, group_filter::gf_numsrc, GROUP_FILTER_SIZE, MULTICAST, and sock::protinfo. Referenced by ip_getsockopt().
|
|
||||||||||||
|
Definition at line 1109 of file igmp.c. References in_device::dev, net_device::flags, igmp_group_added(), in_dev_hold, ip_mc_add_src(), ip_rt_multicast_event(), in_device::lock, in_device::mc_list, MCAST_EXCLUDE, and MCAST_INCLUDE. Referenced by ip_mc_join_group(), and ip_mc_up().
|
|
||||||||||||
|
Definition at line 1579 of file igmp.c. References ip_mreqn::imr_multiaddr, ip_mc_find_dev(), ip_mc_inc_group(), MCAST_EXCLUDE, MULTICAST, sock::protinfo, in_addr::s_addr, sock_kfree_s(), sock_kmalloc(), and sysctl_igmp_max_memberships. Referenced by ip_setsockopt(), and join_mcast_group().
|
|
||||||||||||
|
Definition at line 1657 of file igmp.c. References ip_mreqn::imr_address, ip_mreqn::imr_ifindex, ip_mreqn::imr_multiaddr, in_dev_put(), inetdev_by_index(), ip_mc_dec_group(), ip_mc_leave_src(), sock::protinfo, rtnl_lock(), rtnl_unlock(), in_addr::s_addr, and sock_kfree_s(). Referenced by ip_setsockopt().
|
|
||||||||||||||||
|
Definition at line 1635 of file igmp.c. References ip_mc_del_src(), and sock_kfree_s(). Referenced by ip_mc_drop_socket(), and ip_mc_leave_group().
|
|
||||||||||||||||||||
|
Definition at line 1879 of file igmp.c. References ip_mreqn::imr_address, ip_mreqn::imr_ifindex, ip_mreqn::imr_multiaddr, ip_msfilter::imsf_fmode, ip_msfilter::imsf_interface, ip_msfilter::imsf_multiaddr, ip_msfilter::imsf_numsrc, ip_mc_find_dev(), IP_MSFILTER_SIZE, MULTICAST, sock::protinfo, and in_addr::s_addr. Referenced by ip_getsockopt().
|
|
||||||||||||||||
|
Definition at line 1810 of file igmp.c. References ip_mreqn::imr_address, ip_mreqn::imr_ifindex, ip_mreqn::imr_multiaddr, ip_msfilter::imsf_fmode, ip_msfilter::imsf_interface, ip_msfilter::imsf_multiaddr, ip_msfilter::imsf_numsrc, ip_msfilter::imsf_slist, ip_mc_add_src(), ip_mc_del_src(), ip_mc_find_dev(), MCAST_EXCLUDE, MCAST_INCLUDE, MULTICAST, sock::protinfo, in_addr::s_addr, sock_kfree_s(), and sock_kmalloc(). Referenced by ip_setsockopt().
|
|
||||||||||||||||||||
|
Definition at line 2091 of file igmp.c. References dev_base, dev_base_lock, net_device::ifindex, in_dev_get(), in_dev_put(), in_device::lock, net_device::mc_count, in_device::mc_list, net_device::name, and net_device::next. Referenced by ip_init().
|
|
||||||||||||||||||||
|
Definition at line 1996 of file igmp.c. References MCAST_EXCLUDE, MCAST_INCLUDE, MULTICAST, and sock::protinfo. Referenced by udp_v4_mcast_next().
|
|
||||||||||||||||||||||||
|
Definition at line 1694 of file igmp.c. References ip_mreqn::imr_address, ip_mreqn::imr_ifindex, ip_mreq_source::imr_interface, ip_mreqn::imr_multiaddr, ip_mreq_source::imr_multiaddr, ip_mreq_source::imr_sourceaddr, ip_mc_add_src(), ip_mc_del_src(), ip_mc_find_dev(), MULTICAST, sock::protinfo, in_addr::s_addr, sock_kfree_s(), and sock_kmalloc(). Referenced by ip_setsockopt().
|
|
|
Definition at line 1222 of file igmp.c. References igmp_group_added(), ip_mc_inc_group(), in_device::mc_list, in_device::mc_lock, in_device::mc_tomb, in_device::mr_gq_running, in_device::mr_gq_timer, in_device::mr_ifc_count, in_device::mr_ifc_timer, and in_device::mr_qrv. Referenced by inetdev_event(), and inetdev_init().
|
|
||||||||||||||||||||
|
Definition at line 2149 of file igmp.c. References dev_base, dev_base_lock, net_device::ifindex, in_dev_get(), in_dev_put(), in_device::lock, in_device::mc_list, MCAST_EXCLUDE, MCAST_INCLUDE, net_device::name, and net_device::next. Referenced by ip_init().
|
|
|
Definition at line 1304 of file igmp.c. Referenced by ip_mc_join_group(). |
1.3.8