diff options
author | andre <andre@FreeBSD.org> | 2004-05-06 13:17:02 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2004-05-06 13:17:02 +0000 |
commit | 1769ff7c1f07f4e9175195e010dd44c3d0ea098a (patch) | |
tree | 9c1ecb5e8a2046fbe11c84a940cb0c404cedaccb /sys/dev/if_ndis | |
parent | db874ef06090bf2687cdef28cdb000f19f5f19ec (diff) | |
download | FreeBSD-src-1769ff7c1f07f4e9175195e010dd44c3d0ea098a.zip FreeBSD-src-1769ff7c1f07f4e9175195e010dd44c3d0ea098a.tar.gz |
Link state change notification of ethernet media to the routing socket.
o The ndis_ticktask() function updates the ifi_link_state field and
calls rt_ifmsg() to notify listeners on the routing socket.
Approved by: wpaul
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r-- | sys/dev/if_ndis/if_ndis.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c index 7b1251f..5c6c0e0 100644 --- a/sys/dev/if_ndis/if_ndis.c +++ b/sys/dev/if_ndis/if_ndis.c @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include <net/ethernet.h> #include <net/if_dl.h> #include <net/if_media.h> +#include <net/route.h> #include <net/bpf.h> @@ -1063,11 +1064,15 @@ ndis_ticktask(xsc) if (sc->ndis_80211) ndis_getstate_80211(sc); NDIS_LOCK(sc); + sc->arpcom.ac_if.if_link_state = LINK_STATE_UP; + rt_ifmsg(&(sc->arpcom.ac_if)); } if (sc->ndis_link == 1 && linkstate == nmc_disconnected) { device_printf(sc->ndis_dev, "link down\n"); sc->ndis_link = 0; + sc->arpcom.ac_if.if_link_state = LINK_STATE_DOWN; + rt_ifmsg(&(sc->arpcom.ac_if)); } NDIS_UNLOCK(sc); |