[Xorp-cvs] XORP cvs commit: xorp/fea
Bruce M Simpson
bms@spc.org
Mon, 17 Oct 2005 18:14:02 +0100
On Mon, Oct 17, 2005 at 11:27:52AM +0000, Pavlin Radoslavov wrote:
> Note that the asyncronous upcall notification by the kernel about
> link state changes exists on Linux, NetBSD and OpenBSD, but
> (currently) it doesn't appear to exist on FreeBSD and MacOS X.
> Hence, on the latter systems the link state is read on startup, but
> any future changes to the link state may never be caught and propagated
> by the FEA to the interested parties.
This means we need to process RTM_IFINFO in the routing socket observer.
There's ifm->ifm_data.ifi_link_state under FreeBSD, but there's also
ifm_active in struct ifmediareq which ifconfig parses and prints as
'active' or 'no carrier' if IFM_ACTIVE is set (FreeBSD uses the ifmedia
interface).
BMS