Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jan 2005 14:15:06 +0100 (MET)
From:      Alexander Hausner <alex@hugo.bmg.gv.at>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/76890: [patch] em driver does not send routing messages on interface link state changes
Message-ID:  <200501311315.j0VDF6BF006738@hugo.bmg.gv.at>
Resent-Message-ID: <200501311320.j0VDKM7V071273@freefall.freebsd.org>

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

>Number:         76890
>Category:       kern
>Synopsis:       [patch] em driver does not send routing messages on interface link state changes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 31 13:20:21 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Hausner
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
BMG
>Environment:
FreeBSD proxy1.bmg.gv.at 5.3-STABLE FreeBSD 5.3-STABLE #2: Wed Jan 26 15:59:34 CET 2005     root@proxy1.bmg.gv.at:/usr/src/sys/i386/compile/PROXY_CARP  i386


	
>Description:
Intel(R) PRO/1000 Gigabit Ethernet adapter driver (em) does not send routing messages on interface link state changes, which where needed by some kind of routing/failover software (zebra, ifstated etc.)
>How-To-Repeat:
If you unplug/plug the network-cable on an em-interface, you will get no routing messages on routing sockets.
>Fix:

	

--- if_em.c.patch begins here ---
--- sys/dev/em/if_em.c.orig	Mon Jan 31 13:32:37 2005
+++ sys/dev/em/if_em.c	Mon Jan 31 13:32:38 2005
@@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
 /*$FreeBSD: /repoman/r/ncvs/src/sys/dev/em/if_em.c,v 1.44.2.6 2005/01/30 06:05:12 yar Exp $*/
 
 #include <dev/em/if_em.h>
+#include <net/route.h>
 
 /*********************************************************************
  *  Set this to one to display debug statistics                                                   
@@ -1016,6 +1017,7 @@ em_intr(void *arg)
 		callout_stop(&adapter->timer);
                 adapter->hw.get_link_status = 1;
                 em_check_for_link(&adapter->hw);
+                rt_ifmsg(ifp);
                 em_print_link_status(adapter);
 		callout_reset(&adapter->timer, 2*hz, em_local_timer, adapter);
         }
--- if_em.c.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



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