summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1995-12-18 17:51:24 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1995-12-18 17:51:24 +0000
commit159c0670301b83da5db8db75bcc238ee15e0aee8 (patch)
treee0a5dac6ff030602e8493a72aed6955b61f65992
parentc4ee0e42b664bc2accce723ca803a159bbf5ff43 (diff)
enable multicast, so that multicast packets can flow through ppp links. idea from freebsd
-rw-r--r--sys/net/if_ppp.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 8eb431dee11..db25329fa99 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -188,7 +188,7 @@ pppattach()
sc->sc_if.if_name = "ppp";
sc->sc_if.if_unit = i++;
sc->sc_if.if_mtu = PPP_MTU;
- sc->sc_if.if_flags = IFF_POINTOPOINT;
+ sc->sc_if.if_flags = IFF_POINTOPOINT | IFF_MULTICAST;
sc->sc_if.if_type = IFT_PPP;
sc->sc_if.if_hdrlen = PPP_HDRLEN;
sc->sc_if.if_ioctl = pppsioctl;
@@ -522,6 +522,19 @@ pppsioctl(ifp, cmd, data)
ifr->ifr_mtu = sc->sc_if.if_mtu;
break;
+ case SIOCADDMULTI:
+ case SIOCDELMULTI:
+ switch (ifr->ifr_addr.sa_family) {
+#ifdef INET
+ case AF_INET:
+ break;
+#endif
+ default:
+ error = EAFNOSUPPORT;
+ break;
+ }
+ break;
+
case SIOCGPPPSTATS:
psp = &((struct ifpppstatsreq *) data)->stats;
bzero(psp, sizeof(*psp));