[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