SunFire X2200 ilo's bge1 DOWN/UP

YongHyeon PYUN pyunyh at gmail.com
Fri May 31 05:47:22 UTC 2013


On Fri, May 31, 2013 at 08:24:47AM +0300, Daniel Braniss wrote:
> > On Thursday, May 30, 2013 2:44:35 am Daniel Braniss wrote:
> > > > --/04w6evG8XlLl3ft
> > > > Content-Type: text/x-diff; charset=us-ascii
> > > > Content-Disposition: attachment; filename="bge.media_sts.diff"
> > > > 
> > > > Index: sys/dev/bge/if_bge.c
> > > > ===================================================================
> > > > --- sys/dev/bge/if_bge.c	(revision 251021)
> > > > +++ sys/dev/bge/if_bge.c	(working copy)
> > > > @@ -5583,6 +5583,10 @@ bge_ifmedia_sts(struct ifnet *ifp, struct ifmediar
> > > >  
> > > >  	BGE_LOCK(sc);
> > > >  
> > > > +	if ((ifp->if_flags & IFF_UP) == 0) {
> > > > +		BGE_UNLOCK(sc);
> > > > +		return;
> > > > +	}
> > > >  	if (sc->bge_flags & BGE_FLAG_TBI) {
> > > >  		ifmr->ifm_status = IFM_AVALID;
> > > >  		ifmr->ifm_active = IFM_ETHER;
> > > > 
> > > > --/04w6evG8XlLl3ft--
> > > after 18hs, the logs are empty!
> > > it seems the patch fixes the problem.
> > > 
> > > now maybe it's time to hunt for who is randomly calling for bge_ifmedia_sts
> > > ...
> > 
> > It could be any number of daemons that query interface state such as an
> > SNMP server, ladvd, etc.
> > 
> > If you wanted help you could modify the patch so that it does something like 
> > this:
> > 
> #include <sys/proc.h>
> > 	if (/* test for IFF_UP */) {
> > 		BGE_UNLOCK(sc);
> > 		if_printf(ifp, "state queried on down interface by pid %d (%s)",
> ------------------------------------------------------------------------------|
>  add a \n
> > 		    curthread->td_proc->p_pid, curthread->td_proc->p_comm);
> > 		return;
> > 	}
> > 
> > -- 
> > John Baldwin
> snmpd call this several times a second, (difficult to measeure since sysolog 
> just says
> 	 last message repeated 22 times
> in any case, the DOWN/UP appears once every few hours, oh well.
> I have now stopped the snmpd daemon, maybe there is someone else ...

I have no idea why snmpd wants to know media status for interfaces
that are put into down state. The media status resolved after
bringing up the interface may be different one that was seen
before.
The patch also makes dhclient think driver got a valid link
regardless of link establishment. I guess that wouldn't be
issue though. I'll commit the patch after some more testing.

Thanks for reporting and testing!

> 
> thanks,
> 	danny
> 
> 


More information about the freebsd-stable mailing list