igmp
struct igmp *igmp;
igmp = mtod(m, struct igmp *);
switch (igmp->igmp_type) {
if (igmp->igmp_code == 0) {
timer = igmp->igmp_code * PR_FASTHZ / IGMP_TIMER_SCALE;
if (!IN_MULTICAST(igmp->igmp_group.s_addr) ||
igmp->igmp_group.s_addr != ip->ip_dst.s_addr) {
inm = in_lookupmulti(&igmp->igmp_group, ifp);
if (!IN_MULTICAST(igmp->igmp_group.s_addr) ||
igmp->igmp_group.s_addr != ip->ip_dst.s_addr) {
inm = in_lookupmulti(&igmp->igmp_group, ifp);
struct igmp *igmp;
igmp = mtod(m, struct igmp *);
igmp->igmp_type = pkt->ipi_type;
igmp->igmp_code = 0;
igmp->igmp_group = pkt->ipi_addr;
igmp->igmp_cksum = 0;
igmp->igmp_cksum = in_cksum(m, IGMP_MINLEN);
struct igmp *igmp;
igmp = (struct igmp *) (recv_buf + iphdrlen);
group = igmp->igmp_group.s_addr;
if (igmp->igmp_type != IGMP_DVMRP)
switch (igmp->igmp_code) {
switch (igmp->igmp_code) {
accept_neighbors(src, dst, (u_char *)(igmp + 1),
accept_neighbors2(src, dst, (u_char *)(igmp + 1),
struct igmp *igmp;
igmp = (struct igmp *)(recv_buf + iphdrlen);
group = igmp->igmp_group.s_addr;
packet_kind(igmp->igmp_type, igmp->igmp_code),
switch (igmp->igmp_type) {
accept_membership_query(src, dst, group, igmp->igmp_code);
accept_group_report(src, dst, group, igmp->igmp_type);
switch (igmp->igmp_code) {
(char *)(igmp+1), igmpdatalen, group);
(char *)(igmp+1), igmpdatalen, group);
accept_neighbors(src, dst, (u_char *)(igmp+1), igmpdatalen,
accept_neighbors2(src, dst, (u_char *)(igmp+1), igmpdatalen,
accept_prune(src, dst, (char *)(igmp+1), igmpdatalen);
accept_graft(src, dst, (char *)(igmp+1), igmpdatalen);
accept_g_ack(src, dst, (char *)(igmp+1), igmpdatalen);
accept_info_request(src, dst, (char *)(igmp+1),
accept_info_reply(src, dst, (char *)(igmp+1), igmpdatalen);
igmp->igmp_code, inet_fmt(src, s1),
accept_mtrace(src, dst, group, (char *)(igmp+1),
igmp->igmp_code, igmpdatalen);
igmp->igmp_type, inet_fmt(src, s1),
struct igmp *igmp;
igmp = (struct igmp *)(send_buf + MIN_IP_HEADER_LEN);
igmp->igmp_type = type;
igmp->igmp_code = code;
igmp->igmp_group.s_addr = group;
igmp->igmp_cksum = 0;
igmp->igmp_cksum = inet_cksum((u_int16_t *)igmp,
int version = ntohl(incr[0].igmp.igmp_group.s_addr) & 0xFFFF;
struct igmp *igmp;
igmp = (struct igmp *) (recv_buf + iphdrlen);
switch (igmp->igmp_type) {
if (igmp->igmp_code != DVMRP_NEIGHBORS2) continue;
u_int32_t *p = (u_int32_t *)(igmp + 1);
rquery = (struct tr_query *)(igmp + 1);
if (igmp->igmp_type == IGMP_MTRACE_QUERY) {
bcopy((char *)igmp, (char *)&save->igmp, ipdatalen);
struct igmp *igmp;
igmp = (struct igmp *) (recv_buf + iphdrlen);
switch (igmp->igmp_type) {
bcopy((char *)igmp, (char *)&base.igmp, ipdatalen);
(qgrp != 0 && qgrp != igmp->igmp_group.s_addr))
inet_fmt(igmp->igmp_group.s_addr, s3), igmp->igmp_code);
u_int32_t version = ntohl(incr[0].igmp.igmp_group.s_addr);
struct igmp igmp; /* IGMP header */