Date: Fri, 20 Jul 2007 20:41:46 +1000 From: Norberto Meijome <freebsd@meijome.net> Cc: freebsd-questions@freebsd.org Subject: Re: Possible devd bug Message-ID: <20070720204146.0ef7c20d@localhost> In-Reply-To: <20070720072855.134EF84419@stasis01.lerkins.com> References: <20070720072855.134EF84419@stasis01.lerkins.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Jul 2007 09:28:55 +0200 (CEST)
Bart=C5=82omiej Rutkowski <brutkowski@lerkins.com> wrote:
> Hi all,
>=20
> I have been playing with OpenOspf lately, and I came to a place, when I n=
eeded 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 de=
finitions:
>=20
> notify 100 {
> match "system" "IFNET";
> match "type" "LINK_DOWN";
> media-type "ethernet";
> action "/sbin/ifconfig $subsystem down";
> };
> =20
> notify 200 {
> match "system" "IFNET";
> match "type" "LINK_UP";
> media-type "ethernet";
> action "/sbin/ifconfig $subsystem up";
> };
>=20
> And what is happening? Well, basically, when the interface detects that e=
th cable has been detached, devd triggers and makes it DOWN, which is ok. B=
ut, 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.=20
> I have tried that with replacing action statements with ones with proper =
logging actions, and when interface is UP devd gets the proper state change=
s information.=20
>=20
> Now the question is: why devd doesent receive any information from interf=
aces in DOWN state? Is that proper behaviour, or a bug? Thanks for any repl=
y, and for your attention.
>=20
hi ,
What do you get when you run devd in debug mode :
/etc/rc.d/devd stop
/sbin/devd -d -D
in my case, i get the following on pulling the cat5 on bge0
[root@ayiin] [Fri Jul 20 20:36:28 2007]
/usr/home/betom
# /sbin/devd -D -d
Parsing /etc/devd.conf
setting scsi-controller-regex=3D(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|as=
r|bt|ciss|ct|dpt|esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wd=
s)[0-9]+
Parsing files in /etc/devd
Parsing files in /usr/local/etc/devd
Parsing /usr/local/etc/devd/ayiin.conf
Processing event '!system=3DIFNET subsystem=3Dbge0 type=3DLINK_DOWN'
Pushing table
setting system=3DIFNET
setting subsystem=3Dbge0
setting type=3DLINK_DOWN
Processing notify event
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_DOWN against ^ATTACH
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_DOWN against ^DETACH
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_DOWN against ^LINK_UP
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_DOWN against ^LINK_UP
Popping table
[AND HERE I PLUG IT BACK IN ]
Processing event '!system=3DIFNET subsystem=3Dbge0 type=3DLINK_UP'
Pushing table
setting system=3DIFNET
setting subsystem=3Dbge0
setting type=3DLINK_UP
Processing notify event
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^ACPI
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_UP against ^ATTACH
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_UP against ^DETACH
Testing system=3DIFNET against ^IFNET
Testing type=3DLINK_UP against ^LINK_UP
Testing media type of bge0 against 0x20
bge0 has media type 0x20
Executing '/etc/rc.d/dhclient start bge0'
Popping table
-----
do you get the LINK_UP event at all?=20
Otherwise, you should be able to figure out what the issue is with your co=
nfig file ...
Good luck,
_________________________
{Beto|Norberto|Numard} Meijome
"Too bad ignorance isn't painful."
Don Lindsay
I speak for myself, not my employer. Contents may be hot. Slippery when wet=
. Reading disclaimers makes you go blind. Writing them is worse. You have b=
een Warned.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070720204146.0ef7c20d>
