Subject: Re: annoying "link state changed" messages on boot
To: Simon Burge <simonb@wasabisystems.com>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: tech-kern
Date: 05/01/2006 08:39:25
On Mon, 1 May 2006 16:29:05 +1000, Simon Burge <simonb@wasabisystems.com>
wrote:

> Every time on boot, I'm seeing messages like:
> 
> 	wm0: link state changed to DOWN
> 	wm0: link state changed to UP
> 
> for any interface that's used, and just a
> 
> 	re0: link state changed to DOWN
> 
> or similar for any interface that isn't used.
> 
> Other than being somewhat annoying, do they serve any useful
> purpose?  If there any problem if "#ifdef DEBUG"ing them in
> if_link_state_change()?
> 
They have to go; they're an un-Unix annoyance.

I agree that it's useful, under certain circumstances, to know what an
interface has changed state.  I've been watching it for quite a while, via
ifwatched.  I invoke the following command of my own:

      ifwatchd \
        -A /usr/local/bin/interface-Arrive \
        -c /usr/local/bin/interface-CarrierUp \
        -D /usr/local/bin/interface-Depart \
        -d /usr/local/bin/interface-Down \
        -n /usr/local/bin/interface-CarrierDown \
        -u /usr/local/bin/interface-Up\
        wm0 ath0 ppp0

Those six commands are all links to this shell script:

logger -p local0.info -t ifd "$1 `basename $0` ($4 $5) --------------------"

In other words, for those who -- like me -- want to see such messages,
there's an easy way to do it.  Those who don't aren't being annoyed if
they're removed.  Having the messages hard-wired violates a cardinal
principle of Unix: don't do something in the kernel that can be done
at user level.

		--Steven M. Bellovin, http://www.cs.columbia.edu/~smb