Re: network interface monitoring?



On Thu, 2008-01-24 at 10:36 -0600, Brooks Davis wrote:
On Thu, Jan 24, 2008 at 10:58:33AM -0500, Yousif Hassan wrote:
Thank you to all who responded.

The suggestion was made to use devd or ifstated. Both sound like
excellent tools, but I'm currently being tripped up by a core problem -
both tools rely on the kernel to notify userland of link state changes
(which makes complete sense!). This is all well and good - but the
current issue I'm seeing is that the link state doesn't get updated
without running "ifconfig" again - is this by design? A known "issue?"

An example:
1. Unplug network cable from bfe0
2. I run ifconfig
3. I see that interface bfe0's status is "no carrier". Good.
4. I plug the cable into bfe0
5. Wait... wait... look in /var/log/messages... wait more.. NO STATE
CHANGE - the longest I've waited was 2 minutes, which is already too
long
6. run "ifconfig" again
7. Link state immediately changes, logs to /var/log/messages, devd
scripts run

Is this a known behavior? It seems like the link state changes should
happen automatically, without something to "trigger" them. Isn't there
some kind of poll or interrupt sequence? I'm on 6.3 RC2 (will upgrade
to 6.3-RELEASE imminently) but can't imagine this code changed? Does
this work differently/better in 7.0?

It's known but not well understood and is a driver bug.

I was afraid you'd say that. Thanks for the info.

I found PR kern/109733: [bge] bge link state issues (regression)
which, while referring to a different driver, has some of the same
symptoms.

In the meantime, I scripted something that calls ifconfig every 30
seconds or so, redirected its output to null, and put it in the
background and nice'd it; this seems to do the trick, albeit via a
horrid hack. Due to the bug you mentioned, sometimes link state events
queue up, too, and get passed to userland at once, which is no kind of
fun, but the script still works.

Yousif

_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: network interface monitoring?
    ... The suggestion was made to use devd or ifstated. ... both tools rely on the kernel to notify userland of link state changes ... I run ifconfig ... It seems like the link state changes should ...
    (freebsd-net)
  • Re: network interface monitoring?
    ... The suggestion was made to use devd or ifstated. ... both tools rely on the kernel to notify userland of link state changes ... I run ifconfig ... It seems like the link state changes should ...
    (freebsd-net)
  • Re: network interface monitoring?
    ... both tools rely on the kernel to notify userland of link state changes ... It seems like the link state changes should ... struct bfe_softc *sc; ...
    (freebsd-net)
  • Re: network interface monitoring?
    ... First the good news - your patch appears to solve nearly all of the ... then the link state changes get queued up (as ... For all I know, this might be unrelated to your driver patch, ...
    (freebsd-net)
  • Re: network interface monitoring?
    ... First the good news - your patch appears to solve nearly all of the ... then the link state changes get queued up (as ... For all I know, this might be unrelated to your driver patch, ...
    (freebsd-net)