summaryrefslogtreecommitdiff
path: root/sys/netinet/igmp.c
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1996-03-03 22:30:53 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1996-03-03 22:30:53 +0000
commit35a125282d2999b4fd6dea7bbf4696f937f5a052 (patch)
tree16c80ae6c1294751a0c34c39af0d4e9cd3a77d60 /sys/netinet/igmp.c
parent4f317e580dfce2348ec5cfc05dfde20ed8440910 (diff)
From NetBSD: 960217 merge
Diffstat (limited to 'sys/netinet/igmp.c')
-rw-r--r--sys/netinet/igmp.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c
index cdc3abee23c..e37d502e7e5 100644
--- a/sys/netinet/igmp.c
+++ b/sys/netinet/igmp.c
@@ -1,4 +1,5 @@
-/* $NetBSD: igmp.c,v 1.14 1995/08/12 23:59:31 mycroft Exp $ */
+/* $OpenBSD: igmp.c,v 1.2 1996/03/03 22:30:26 niklas Exp $ */
+/* $NetBSD: igmp.c,v 1.15 1996/02/13 23:41:25 christos Exp $ */
/*
* Internet Group Management Protocol (IGMP) routines.
@@ -14,6 +15,7 @@
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/protosw.h>
+#include <sys/systm.h>
#include <net/if.h>
#include <net/route.h>
@@ -26,12 +28,16 @@
#include <netinet/igmp.h>
#include <netinet/igmp_var.h>
+#include <machine/stdarg.h>
+
#define IP_MULTICASTOPTS 0
int igmp_timers_are_running;
static struct router_info *rti_head;
void igmp_sendpkt __P((struct in_multi *, int));
+static int rti_fill __P((struct in_multi *));
+static struct router_info * rti_find __P((struct ifnet *));
void
igmp_init()
@@ -91,10 +97,15 @@ rti_find(ifp)
}
void
-igmp_input(m, iphlen)
- register struct mbuf *m;
- register int iphlen;
+#if __STDC__
+igmp_input(struct mbuf *m, ...)
+#else
+igmp_input(m, va_alist)
+ struct mbuf *m;
+ va_dcl
+#endif
{
+ register int iphlen;
register struct ifnet *ifp = m->m_pkthdr.rcvif;
register struct ip *ip = mtod(m, struct ip *);
register struct igmp *igmp;
@@ -105,6 +116,11 @@ igmp_input(m, iphlen)
struct router_info *rti;
register struct in_ifaddr *ia;
int timer;
+ va_list ap;
+
+ va_start(ap, m);
+ iphlen = va_arg(ap, int);
+ va_end(ap);
++igmpstat.igps_rcv_total;