summaryrefslogtreecommitdiffstats
path: root/sys/netinet/igmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/igmp.c')
-rw-r--r--sys/netinet/igmp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c
index 78b426c..f372085 100644
--- a/sys/netinet/igmp.c
+++ b/sys/netinet/igmp.c
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)igmp.c 8.1 (Berkeley) 7/19/93
+ * @(#)igmp.c 8.2 (Berkeley) 5/3/95
*/
/* Internet Group Management Protocol (IGMP) routines. */
@@ -286,12 +286,16 @@ igmp_sendreport(inm)
ip->ip_src.s_addr = INADDR_ANY;
ip->ip_dst = inm->inm_addr;
- igmp = (struct igmp *)(ip + 1);
+ m->m_data += sizeof(struct ip);
+ m->m_len -= sizeof(struct ip);
+ igmp = mtod(m, struct igmp *);
igmp->igmp_type = IGMP_HOST_MEMBERSHIP_REPORT;
igmp->igmp_code = 0;
igmp->igmp_group = inm->inm_addr;
igmp->igmp_cksum = 0;
igmp->igmp_cksum = in_cksum(m, IGMP_MINLEN);
+ m->m_data -= sizeof(struct ip);
+ m->m_len += sizeof(struct ip);
imo = &simo;
bzero((caddr_t)imo, sizeof(*imo));
OpenPOWER on IntegriCloud