summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ppp.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1994-10-05 20:11:28 +0000
committerwollman <wollman@FreeBSD.org>1994-10-05 20:11:28 +0000
commit4c7a70a838fddaab862576e2dd0d34ae4d39e01a (patch)
tree38bd01d2f2c4bc4fdefa0b4b7831c53c08b85593 /sys/net/if_ppp.c
parent82fae818f5e3102629fff41728bfd4167609ecec (diff)
downloadFreeBSD-src-4c7a70a838fddaab862576e2dd0d34ae4d39e01a.zip
FreeBSD-src-4c7a70a838fddaab862576e2dd0d34ae4d39e01a.tar.gz
A number of bug-fixes inspired by Mark Treacy:
- Allow PPP to run multicasts natively. - Deal properly with lots of similarly-named interfaces. - Don't sign-extend if_flags. NB: the last fix (to rtsock.c) must be reversed when we expand if_flags to a reasonable size. Submitted by: Mark Treacy
Diffstat (limited to 'sys/net/if_ppp.c')
-rw-r--r--sys/net/if_ppp.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 19d5965..52af32c 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -69,7 +69,7 @@
* Paul Mackerras (paulus@cs.anu.edu.au).
*/
-/* $Id: if_ppp.c,v 1.7 1994/01/25 05:56:06 deraadt Exp paulus $ */
+/* $Id: if_ppp.c,v 1.2 1994/09/23 00:13:18 wollman Exp $ */
/* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */
#include "ppp.h"
@@ -192,7 +192,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 = pppioctl;
@@ -1489,6 +1489,18 @@ pppioctl(ifp, cmd, data)
case SIOCGIFMTU:
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;
default:
error = EINVAL;
OpenPOWER on IntegriCloud