if_link_state_change() patch for review
Gleb Smirnoff
glebius at FreeBSD.org
Tue Apr 19 05:03:30 PDT 2005
Andre,
On Tue, Apr 19, 2005 at 11:49:36AM +0200, Andre Oppermann wrote:
A> > we are working on fixing LORs in if_link_state_change() path, and
A> > adding possibility to call if_link_state_change() pseudorecursively,
A> > when link of interface depends on link of the other.
A> >
A> > I'm posting this patch for wider review. An important point about it
A> > is that, if several link events occur VERY quickly, only the last one
A> > will be processed. I don't know of any software that will be broken by
A> > such behavoir. If you know some, please tell me.
A>
A> I assume this is per interface and not for all interfaces together.
Yes, sure.
A> You have to be careful here indeed. If the link is rapidly flapping
A> then you only want to report changes in status. For example when
A> it going down, up, down and all these events got queued it doesn't
A> make sense to report down->down. This could indeed confuse some
A> tools and isn't very useful. Either you check the first event vs.
A> the last one if there is a change in state or you just take the events
A> as trigger to have a look at the interface status when the ithread
A> runs. There however you'd have to track the previous state to detect
A> changes.
I do not know any applications which would be confused, yet. Also, while
event coalescing is possible theoretically, I failed to reproduce it. I've
added a debugging printf, so we will see if anyone experiences these
coalescing events at all.
--
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
More information about the freebsd-net
mailing list