NetBSD Problem Report #48310

From t-hash@abox3.so-net.ne.jp  Sun Oct 13 17:17:01 2013
Return-Path: <t-hash@abox3.so-net.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id A9F5772677
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 13 Oct 2013 17:17:01 +0000 (UTC)
Message-Id: <201310131716.r9DHGwRg000517@ms-omx11.plus.so-net.ne.jp>
Date: Mon, 14 Oct 2013 02:16:58 +0900
From: Takahiro HAYASHI <t-hash@abox3.so-net.ne.jp>
To: gnats-bugs@gnats.NetBSD.org
Subject: kue(4) cannot receive multicast packets

>Number:         48310
>Category:       kern
>Synopsis:       kue(4) cannot receive multicast packets
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Oct 13 17:20:00 +0000 2013
>Closed-Date:    Wed Jun 01 03:32:51 +0000 2016
>Last-Modified:  Wed Jun 01 03:32:51 +0000 2016
>Originator:     Takahiro HAYASHI
>Release:        NetBSD 6.99.24
>Organization:
>Environment:
System: NetBSD ruin 6.99.24 NetBSD 6.99.24 (UNION) #0: Wed Oct  9 08:34:24 JST 2013 root@halt:/usr/build2/obj.i386/sys/arch/i386/compile/UNION i386
Architecture: i386
Machine: i386
>Description:
	kue(4) cannot receive multicast packets
	because in the case of SIOC{ADD,DEL}MULTI kue_ioctl() does not
	call ether_ioctl() to rebuild list of ec_multiaddrs before
	calling kue_setmulti().

>How-To-Repeat:
	assign kue ipv6 address and ping6 from other host.

>Fix:
	In the case of SIOC{ADD,DEL}MULTI please call ether_ioctl()
	to fill list of ec_multiaddrs before calling kue_setmulti().

--
t-hash

>Release-Note:

>Audit-Trail:
From: Takahiro HAYASHI <t-hash@abox3.so-net.ne.jp>
To: David Holland <dholland-bugs@netbsd.org>, gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/48310: kue(4) cannot receive multicast packets
Date: Mon, 14 Oct 2013 09:40:12 +0900

 On Sun, 13 Oct 2013 17:20:00 +0000 (UTC)
 I wrote:

 > >Fix:
 > 	In the case of SIOC{ADD,DEL}MULTI please call ether_ioctl()
 > 	to fill list of ec_multiaddrs before calling kue_setmulti().

 This is patch for HEAD and netbsd-6.

 Index: src/sys/dev/usb/if_kue.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/if_kue.c,v
 retrieving revision 1.79
 diff -u -p -r1.79 if_kue.c
 --- src/sys/dev/usb/if_kue.c	5 Jan 2013 01:30:15 -0000	1.79
 +++ src/sys/dev/usb/if_kue.c	9 Oct 2013 09:59:17 -0000
 @@ -1038,8 +1038,12 @@ kue_ioctl(struct ifnet *ifp, u_long comm
  		break;
  	case SIOCADDMULTI:
  	case SIOCDELMULTI:
 -		kue_setmulti(sc);
 -		error = 0;
 +		error = ether_ioctl(ifp, command, data);
 +		if (error == ENETRESET) {
 +			if (ifp->if_flags & IFF_RUNNING)
 +				kue_setmulti(sc);
 +			error = 0;
 +		}
  		break;
  	default:
  		error = ether_ioctl(ifp, command, data);

 This is patch for netbsd-5.

 Index: src/sys/dev/usb/if_kue.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/if_kue.c,v
 retrieving revision 1.63
 diff -u -p -r1.63 if_kue.c
 --- src/sys/dev/usb/if_kue.c	24 May 2008 16:40:58 -0000	1.63
 +++ src/sys/dev/usb/if_kue.c	9 Oct 2013 09:22:32 -0000
 @@ -1118,8 +1118,12 @@ kue_ioctl(struct ifnet *ifp, u_long comm
  		break;
  	case SIOCADDMULTI:
  	case SIOCDELMULTI:
 -		kue_setmulti(sc);
 -		error = 0;
 + 		error = ether_ioctl(ifp, command, data);
 +		if (error == ENETRESET) {
 +			if (ifp->if_flags & IFF_RUNNING)
 +				kue_setmulti(sc);
 +			error = 0;
 +		}
  		break;
  	default:
  		error = EINVAL;

 --
 t-hash

From: "Nick Hudson" <skrll@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48310 CVS commit: src/sys/dev/usb
Date: Wed, 16 Oct 2013 07:34:20 +0000

 Module Name:	src
 Committed By:	skrll
 Date:		Wed Oct 16 07:34:20 UTC 2013

 Modified Files:
 	src/sys/dev/usb: if_kue.c

 Log Message:
 Apply patch from PR/48310 - kue(4) cannot receive multicast packets.


 To generate a diff of this commit:
 cvs rdiff -u -r1.79 -r1.80 src/sys/dev/usb/if_kue.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Wed, 01 Jun 2016 03:32:51 +0000
State-Changed-Why:
Fix committed on Oct 16 07:34:20 UTC 2013 by skrll@


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.