From nobody@FreeBSD.org  Thu Jun 26 15:36:50 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 62BB11065670
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 26 Jun 2008 15:36:50 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 4A3318FC26
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 26 Jun 2008 15:36:50 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m5QFanKp054681
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 26 Jun 2008 15:36:49 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m5QFanPg054680;
	Thu, 26 Jun 2008 15:36:49 GMT
	(envelope-from nobody)
Message-Id: <200806261536.m5QFanPg054680@www.freebsd.org>
Date: Thu, 26 Jun 2008 15:36:49 GMT
From: Goran Lowkrantz <goran.lowkrantz@ismobile.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: vr driver: ripd: multicast join failed, interface vr0 not running
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         125010
>Category:       kern
>Synopsis:       [vr] ripd: multicast join failed, interface vr0 not running
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    yongari
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 26 15:40:04 UTC 2008
>Closed-Date:    Wed Jul 23 08:47:13 UTC 2008
>Last-Modified:  Wed Jul 23 08:47:13 UTC 2008
>Originator:     Goran Lowkrantz
>Release:        7.0-STABLE
>Organization:
isMobile AB
>Environment:
FreeBSD gw01.ismobile.com 7.0-STABLE FreeBSD 7.0-STABLE #0: Fri Jun 13 14:33:37 UTC 2008     root@ve.hq.ismobile.com:/usr/obj/nanobsd.gwbox/usr/src/sys/FWBOX  i386

>Description:
On a router, the Quagga ripd cant join the router multicast group unless the interface is in promiscous mode. Initial join seems to work but then connectivity is lost and any routes advertised to the interface is lost after timeout.

In the log:
Jun 26 17:00:18 gw01 ripd[3528]: multicast join failed, interface vr0 not running

The router is running a nanobsd build with the following driver:
FreeBSD: src/sys/dev/vr/if_vr.c,v 1.130.2.1 2008/04/11 03:41:58 yongari
FreeBSD: src/sys/dev/vr/if_vr.c,v 1.130.2.1 2008/04/11 03:41:58 yongari
>How-To-Repeat:
Install quagga on the system, attach a vr port to a network advertising routes, see routes timeout.
>Fix:
interface vr0 promisc


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-i386->freebsd-net 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Sun Jun 29 22:03:30 UTC 2008 
Responsible-Changed-Why:  
Over to maintainers 

http://www.freebsd.org/cgi/query-pr.cgi?pr=125010 
State-Changed-From-To: open->feedback 
State-Changed-By: yongari 
State-Changed-When: Mon Jun 30 00:24:17 UTC 2008 
State-Changed-Why:  
Would you show me the dmesg output related with vr(4)? 
There is a bug in multicasting filter handing on VT6105M(VIA Rhine 
III).  If the hardware is VT6105M, please try the patch at the 
following URL. 

http://people.freebsd.org/~yongari/vr/vr.cam.patch2 


Responsible-Changed-From-To: freebsd-net->yongari 
Responsible-Changed-By: yongari 
Responsible-Changed-When: Mon Jun 30 00:24:17 UTC 2008 
Responsible-Changed-Why:  
Grab. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=125010 

From: Goran Lowkrantz <goran.lowkrantz@ismobile.com>
To: bug-followup@FreeBSD.org, goran.lowkrantz@ismobile.com
Cc:  
Subject: Re: kern/125010: [vr] ripd: multicast join failed, interface vr0
 not running
Date: Mon, 30 Jun 2008 06:59:31 +0200

 vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem=20
 0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0
 vr0: Quirks: 0x6
 vr0: Revision: 0x96
 miibus0: <MII bus> on vr0
 ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
 ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 vr0: Ethernet address: 00:00:24:c8:e0:9c
 vr0: [ITHREAD]
 
 Will check the patch during the week.
 
 /glz
 
 ................................................... the future isMobile
 
   Goran Lowkrantz <goran.lowkrantz@ismobile.com>
   System Architect, isMobile AB
   Sandviksgatan 81, PO Box 58, S-971 03 Lule=E5, Sweden
   Mobile: +46(0)70-587 87 82
 http://www.ismobile.com ...............................................
State-Changed-From-To: feedback->open 
State-Changed-By: yongari 
State-Changed-When: Tue Jul 1 10:02:20 UTC 2008 
State-Changed-Why:  
feedback received. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=125010 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/125010: commit references a PR
Date: Wed, 16 Jul 2008 08:35:46 +0000 (UTC)

 yongari     2008-07-16 08:35:29 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/vr           if_vr.c if_vrreg.h 
   Log:
   SVN rev 180552 on 2008-07-16 08:35:29Z by yongari
   
   Fix a multicast handling regression on VT6105M introduced in
   vr(4) overhauling(r177050).
   
   It seems that filtering multicast addresses with multicast CAM
   entries require accessing 'CAM enable bit' for each CAM entry.
   Subsequent accessing multicast CAM control register without
   toggling the 'CAM enable bit' seem to no effects.
   In order to fix that separate CAM setup from CAM mask configuration
   and CAM entry modification. While I'm here add VLAN CAM filtering
   feature which will be enabled in future(FreeBSD now can receive
   VLAN id insertion/removal event from vlan(4) on the fly).
   
   For VT6105M hardware, explicitly disable VLAN hardware tag
   insertion/stripping and enable VLAN CAM filtering for VLAN id 0.
   This shall make non-VLAN frames set VR_RXSTAT_VIDHIT bit in Rx
   status word.
   
   Added multicast/VLAN CAM address definition to header file.
   
   PR:     kern/125010, kern/125024
   MFC after:      1 week
   
   Revision  Changes    Path
   1.132     +48 -25    src/sys/dev/vr/if_vr.c
   1.38      +12 -0     src/sys/dev/vr/if_vrreg.h
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: yongari 
State-Changed-When: Wed Jul 16 09:06:51 UTC 2008 
State-Changed-Why:  
Patch committed to HEAD with change set r180552. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=125010 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/125010: commit references a PR
Date: Wed, 23 Jul 2008 08:19:02 +0000 (UTC)

 yongari     2008-07-23 08:18:42 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_7)
     sys/dev/vr           if_vr.c if_vrreg.h 
   Log:
   SVN rev 180737 on 2008-07-23 08:18:42Z by yongari
   
   MFC r180552.
     Fix a multicast handling regression on VT6105M introduced in
     vr(4) overhauling(r177050).
   
     It seems that filtering multicast addresses with multicast CAM
     entries require accessing 'CAM enable bit' for each CAM entry.
     Subsequent accessing multicast CAM control register without
     toggling the 'CAM enable bit' seem to no effects.
     In order to fix that separate CAM setup from CAM mask configuration
     and CAM entry modification. While I'm here add VLAN CAM filtering
     feature which will be enabled in future(FreeBSD now can receive
     VLAN id insertion/removal event from vlan(4) on the fly).
   
     For VT6105M hardware, explicitly disable VLAN hardware tag
     insertion/stripping and enable VLAN CAM filtering for VLAN id 0.
     This shall make non-VLAN frames set VR_RXSTAT_VIDHIT bit in Rx
     status word.
   
     Added multicast/VLAN CAM address definition to header file.
   
     PR:   kern/125010, kern/125024
   
   Revision   Changes    Path
   1.130.2.3  +48 -25    src/sys/dev/vr/if_vr.c
   1.36.2.3   +12 -0     src/sys/dev/vr/if_vrreg.h
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: yongari 
State-Changed-When: Wed Jul 23 08:45:55 UTC 2008 
State-Changed-Why:  
MFC done(r180737). Thanks for reporting. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=125010 
>Unformatted:
