kern/76890: [patch] em driver does not send routing messages on
interface link state changes
Alexander Hausner
alex at hugo.bmg.gv.at
Mon Jan 31 05:20:22 PST 2005
>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 at 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:
More information about the freebsd-bugs
mailing list