From mpp@mpp.com  Fri Jun  2 12:45:00 1995
Received: from mpp.com ([204.157.201.242])
          by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id MAA02842
          for <FreeBSD-gnats-submit@freebsd.org>; Fri, 2 Jun 1995 12:44:58 -0700
Received: (from mpp@localhost) by mpp.com (8.6.11/8.6.9) id OAA00418; Fri, 2 Jun 1995 14:44:13 -0500
Message-Id: <199506021944.OAA00418@mpp.com>
Date: Fri, 2 Jun 1995 14:44:13 -0500
From: mpp@legarto.minn.net
Reply-To: mpp@legarto.minn.net
To: FreeBSD-gnats-submit@freebsd.org
Subject: Multicast not supported on PPP interfaces
X-Send-Pr-Version: 3.2

>Number:         478
>Category:       kern
>Synopsis:       Multicast not supported on PPP interfaces
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun  2 12:50:00 1995
>Closed-Date:    Sun Jun 4 09:13:02 PDT 1995
>Last-Modified:
>Originator:     Mike Pritchard
>Release:        FreeBSD BUILT-19950525 i386
>Organization:
>Environment:

FreeBSD-current

>Description:

Multicast is not supported on PPP interfaces.  It looks like 
someone goofed when they checked in revision 1.4 of sys/net/if_ppp.c,
since it deleted the changes made in revision 1.3 to add the
multicast stuff.

>How-To-Repeat:

Run "ifconfig ppp0" and note that MULTICAST doesn't appear
as one of the flags.


>Fix:
	
Here is a patch that re-adds the multicast stuff that was previosly
in revision 1.3 of if_ppp.c.  I think this is all that is needed,
but someone who knows more about this stuff should double
check and make sure.

*** orig/if_ppp.c	Fri Jun  2 12:52:30 1995
--- if_ppp.c	Fri Jun  2 14:09:12 1995
***************
*** 200,206 ****
  	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_type = IFT_PPP;
  	sc->sc_if.if_hdrlen = PPP_HDRLEN;
  	sc->sc_if.if_ioctl = pppioctl;
--- 200,206 ----
  	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 | IFF_MULTICAST;
  	sc->sc_if.if_type = IFT_PPP;
  	sc->sc_if.if_hdrlen = PPP_HDRLEN;
  	sc->sc_if.if_ioctl = pppioctl;
***************
*** 1525,1530 ****
--- 1525,1542 ----
  
      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:
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: davidg 
State-Changed-When: Sun Jun 4 09:13:02 PDT 1995 
State-Changed-Why:  
Mike was right - Garrett simply made a mistake in rev 1.4 and 
inadvertantly clobbered his change in 1.3. The multicast ioctl 
support has been added back. 
>Unformatted:



