On Fri, 20 Jul 2007 21:24:15 +0000
Maxim Vetrov <[EMAIL PROTECTED]> wrote:

> Bart?omiej Rutkowski wrote:
> > Hi all,
> >
> > I have been playing with OpenOspf lately, and I came to a place, when I 
> > needed to ensure that an ethernet interface should always go into DOWN 
> > state when it loses its link (physically, for example the switch becames 
> > turned off). I have tried to hire the devd daemon to do the job with such 
> > small definitions:
> >
> > notify 100 {
> >         match "system"          "IFNET";
> >         match "type"            "LINK_DOWN";
> >         media-type              "ethernet";
> >         action "/sbin/ifconfig $subsystem down";
> > };
> >  
> > notify 200 {
> >         match "system"          "IFNET";
> >         match "type"            "LINK_UP";
> >         media-type              "ethernet";
> >         action "/sbin/ifconfig $subsystem up";
> > };
> >
> > And what is happening? Well, basically, when the interface detects that eth 
> > cable has been detached, devd triggers and makes it DOWN, which is ok. But, 
> > when the card got the cable attached once again (and interface detects the 
> > media type and gets ACTIVE state) devd never triggers the second rule, 
> > which should get the interface UP again. 
> > I have tried that with replacing action statements with ones with proper 
> > logging actions, and when interface is UP devd gets the proper state 
> > changes information. 
> >
> > Now the question is: why devd doesent receive any information from 
> > interfaces in DOWN state? Is that proper behaviour, or a bug? Thanks for 
> > any reply, and for your attention.
> >
> > P.S. I am resending this message to freebsd-stable list, as I am not sure 
> > if freebsd-questions was a proper choice.
> >
> >   
> Probably, there is another notify which action is executed before yours 
> :-) Devd stops scanning sections on the _first_ matched one. Run devd in 
> debug mode and watch
> 
> Regards,
> Muxas

I did my tests with debugging and logger in action directives and now I can 
confirm that
devd does not trigger, when you put eth interface into DOWN state by "#ifconfig 
ifnameX down".
Now, is that intentional behaviour or a bug? This makes those LINK_UP devd 
triggers 
totally unusable. 
You can test this behaviour with such example ruleset: 
http://rafb.net/p/gTm9CW93.html


-- 
Bartłomiej Rutkowski <[EMAIL PROTECTED]>
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to