Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 1995 14:10:02 -0700
From:      widmer@cisco.com
To:        freebsd-bugs
Subject:   i386/394: ip multicast in ep driver
Message-ID:  <199505112110.OAA13821@freefall.cdrom.com>
In-Reply-To: Your message of Thu, 11 May 1995 14:04:09 -0700 <199505112104.OAA00764@lazy8.cisco.com>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         394
>Category:       i386
>Synopsis:       IP multicast not supported by ep driver
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 11 14:10:01 1995
>Originator:     Rob Widmer
>Organization:
Cisco Systems, Inc.
>Release:        FreeBSD 2.0-RELEASE i386
>Environment:

	PC with 3Com 3c509 Combo 

>Description:

	ep driver for 3c509 doesn't support IP multicast

>How-To-Repeat:

	Try running sd using 3c509 gives error message

	IP_ADD_MEMBERSHIP: Can't assign requested address

>Fix:
	The following diff to /usr/src/sys/i386/isa/if_ep.c

	*** 559,564 ****
	--- 559,565 ----
	      ifp->if_name = "ep";
	      ifp->if_mtu = ETHERMTU;
	      ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_NOTRAILERS;
	+     ifp->if_flags |= IFF_MULTICAST;
	      ifp->if_init = epinit;
	      ifp->if_output = ether_output;
	      ifp->if_start = epstart;
	***************
	*** 1336,1341 ****
	--- 1337,1363 ----
	                        ifp->if_mtu = ifr->ifr_mtu;
	                }
	                break;
	+
	+       case SIOCADDMULTI:
	+       case SIOCDELMULTI:
	+       /*
	+        * Update our multicast listeners
	+        */
	+       if (cmd == SIOCADDMULTI) {
	+           ether_addmulti(ifr, &sc->arpcom);
	+       } else {
	+           ether_delmulti(ifr, &sc->arpcom);
	+       }
	+
	+       if (error == ENETRESET) {
	+           /*
	+            * Multicast list has changed; set the
	+            * hardware filter accordingly
	+            */
	+           epreset(ifp->if_unit);
	+           error = 0;
	+       }
	+       break;

	        default:
	                error = EINVAL;


>Audit-Trail:
>Unformatted:





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505112110.OAA13821>