diff options
author | wollman <wollman@FreeBSD.org> | 1994-10-05 20:11:28 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1994-10-05 20:11:28 +0000 |
commit | 4c7a70a838fddaab862576e2dd0d34ae4d39e01a (patch) | |
tree | 38bd01d2f2c4bc4fdefa0b4b7831c53c08b85593 /sys/net/if_ppp.c | |
parent | 82fae818f5e3102629fff41728bfd4167609ecec (diff) | |
download | FreeBSD-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.c | 16 |
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; |