igmp
const struct igmp *);
const struct igmp *);
/*const*/ struct igmp *);
/*const*/ struct igmp *);
/*const*/ struct igmp *igmp)
if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
!in_hosteq(igmp->igmp_group, ip->ip_dst)) {
ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
inm = inm_lookup(ifp, igmp->igmp_group);
ntohl(igmp->igmp_group.s_addr), ifp,
ntohl(igmp->igmp_group.s_addr), ifp,
/*const*/ struct igmp *igmp)
if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
!in_hosteq(igmp->igmp_group, ip->ip_dst)) {
ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
inm = inm_lookup(ifp, igmp->igmp_group);
ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
struct igmp *igmp;
igmp = mtod(m, struct igmp *);
if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) {
switch (igmp->igmp_type) {
if (igmp->igmp_code == 0)
if (igmp_input_v1_query(ifp, ip, igmp) != 0) {
if (igmp_input_v2_query(ifp, ip, igmp) != 0) {
igmpv3 = (struct igmpv3 *)igmp;
if (igmp_input_v1_report(ifp, ip, igmp) != 0) {
if (igmp_input_v2_report(ifp, ip, igmp) != 0) {
struct igmp *igmp;
M_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp));
m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp);
m->m_len = sizeof(struct igmp);
igmp = mtod(m, struct igmp *);
igmp->igmp_type = type;
igmp->igmp_code = 0;
igmp->igmp_group = inm->inm_addr;
igmp->igmp_cksum = 0;
igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp));
ip->ip_len = htons(sizeof(struct ip) + sizeof(struct igmp));
struct igmp_report *igmp;
igmp = mtod(m, struct igmp_report *);
igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT;
igmp->ir_rsv1 = 0;
igmp->ir_rsv2 = 0;
igmp->ir_numgrps = htons(m->m_pkthdr.vt_nrecs);
igmp->ir_cksum = 0;
igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen);
DECLARE_MODULE(igmp, igmp_mod, SI_SUB_PROTO_MC, SI_ORDER_MIDDLE);
const struct igmp *igmp)
if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) {
const struct igmp *igmp)
if (in_nullhost(igmp->igmp_group)) {
timer = igmp->igmp_code * IGMP_FASTHZ / IGMP_TIMER_SCALE;
inm = inm_lookup(ifp, igmp->igmp_group);
ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
SYSCTL_NODE(_net_inet, IPPROTO_IGMP, igmp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,