summaryrefslogtreecommitdiff
path: root/sys/net/if_tun.c
diff options
context:
space:
mode:
authorbrian <brian@cvs.openbsd.org>2001-08-21 11:03:46 +0000
committerbrian <brian@cvs.openbsd.org>2001-08-21 11:03:46 +0000
commit1f4013b02f184ccf75413cc8b98f70ee96504ab8 (patch)
treec5b29f2b9534ac64ee1c2a78455ed5fc94b237ab /sys/net/if_tun.c
parent500e9132c41915ff1cfacaab82c2f955d14548f0 (diff)
Add support for SIOCADDMULTI & SIOCDELMULTI; NetBSD
Diffstat (limited to 'sys/net/if_tun.c')
-rw-r--r--sys/net/if_tun.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index 1f421e94372..ba073c9644c 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_tun.c,v 1.38 2001/08/03 21:13:40 itojun Exp $ */
+/* $OpenBSD: if_tun.c,v 1.39 2001/08/21 11:03:45 brian Exp $ */
/* $NetBSD: if_tun.c,v 1.24 1996/05/07 02:40:48 thorpej Exp $ */
/*
@@ -312,6 +312,29 @@ tun_ioctl(ifp, cmd, data)
case SIOCSIFMTU:
ifp->if_mtu = ((struct ifreq *)data)->ifr_mtu;
break;
+ case SIOCADDMULTI:
+ case SIOCDELMULTI: {
+ struct ifreq *ifr = (struct ifreq *)data;
+ if (ifr == 0) {
+ error = EAFNOSUPPORT; /* XXX */
+ break;
+ }
+ switch (ifr->ifr_addr.sa_family) {
+#ifdef INET
+ case AF_INET:
+ break;
+#endif
+#ifdef INET6
+ case AF_INET6:
+ break;
+#endif
+ default:
+ error = EAFNOSUPPORT;
+ break;
+ }
+ break;
+ }
+
case SIOCSIFFLAGS:
break;
default: