diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2005-03-23 13:30:21 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2005-03-23 13:30:21 +0000 |
| commit | 529d0d7dc96c9084d1c2e8ad1bd9209da5061396 (patch) | |
| tree | 53baa4c7acba187b6e10d763a1550cab4d6f81c2 /sys/dev | |
| parent | 52d6e7b00a7d7d339855026f4b9953a593da10ad (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/em/if_em.c | 12 | ||||
| -rw-r--r-- | sys/dev/em/if_em.h | 7 |
2 files changed, 18 insertions, 1 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index dba004241633..5a0cc40f9b67 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -1669,6 +1669,8 @@ em_local_timer(void *arg) static void em_print_link_status(struct adapter * adapter) { + struct ifnet *ifp = &adapter->interface_data.ac_if; + if (E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_LU) { if (adapter->link_active == 0) { em_get_speed_and_duplex(&adapter->hw, @@ -1681,6 +1683,11 @@ em_print_link_status(struct adapter * adapter) "Full Duplex" : "Half Duplex")); adapter->link_active = 1; adapter->smartspeed = 0; + ifp->if_link_state = LINK_STATE_UP; +#ifdef DEV_CARP + if (ifp->if_carp) + carp_carpdev_state(ifp->if_carp); +#endif } } else { if (adapter->link_active == 1) { @@ -1688,6 +1695,11 @@ em_print_link_status(struct adapter * adapter) adapter->link_duplex = 0; printf("em%d: Link is Down\n", adapter->unit); adapter->link_active = 0; + ifp->if_link_state = LINK_STATE_DOWN; +#ifdef DEV_CARP + if (ifp->if_carp) + carp_carpdev_state(ifp->if_carp); +#endif } } diff --git a/sys/dev/em/if_em.h b/sys/dev/em/if_em.h index a914c68ef917..5d795166cfa1 100644 --- a/sys/dev/em/if_em.h +++ b/sys/dev/em/if_em.h @@ -36,6 +36,8 @@ POSSIBILITY OF SUCH DAMAGE. #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ +#include "opt_bdg.h" +#include "opt_carp.h" #include <sys/param.h> #include <sys/systm.h> @@ -62,6 +64,10 @@ POSSIBILITY OF SUCH DAMAGE. #include <netinet/ip.h> #include <netinet/tcp.h> #include <netinet/udp.h> +#ifdef DEV_CARP +#include <netinet/in_var.h> +#include <netinet/ip_carp.h> +#endif #include <sys/bus.h> #include <machine/bus.h> @@ -75,7 +81,6 @@ POSSIBILITY OF SUCH DAMAGE. #include <sys/endian.h> #include <sys/proc.h> #include <sys/sysctl.h> -#include "opt_bdg.h" #include <dev/em/if_em_hw.h> |
