Subject: Re: CVS commit: syssrc
To: Atsushi Onoe <onoe@sm.sony.co.jp>
From: None <itojun@iijlab.net>
List: tech-net
Date: 05/28/2001 10:40:34
>> >Module Name: syssrc
>> >Committed By: itojun
>> >Date: Thu May 24 08:06:05 UTC 2001
>> >
>> >Modified Files:
>> > syssrc/sys/dev/ic: an.c
>> >
>> >Log Message:
>> >correct multicast filter handling. without this, we cannot run IPv6 on an*.
>> >
>> >To generate a diff of this commit:
>> >cvs rdiff -r1.11 -r1.12 syssrc/sys/dev/ic/an.c
>
>The change should be not needed in -current code, since ether_addmulti()/
>ether_delmulti() is called from ether_ioctl(). I can use IPv6 on an*
>without your patch.
i (and momo@iij.ad.jp) have confirmed that we really need this patch,
because of the following story:
- ether_ioctl() returns ENETRESET to inform of filter change to
driver
- an_ioctl() passes ENETRESET to upper layers
- upper layer (including sys/netinet6/in6.c) considers ENETRESET as
a fatal error and will go trouble.
my understanding is that ENETRESET is used only between ether_ioctl
and xx_ioctl, and has to be hiddent from upper layers.
1.5 code is okay.
itojun