Hello,
I'm working on a daemon (nwamd) which uses libdlpi to monitor the link
state of ethernet drivers, and I've noticed some odd behavior with the
nge driver.
Since nwamd tries to dynamically configure network interfaces based on
what's connected and what information is available, it does not plumb
ip until it determines that a) the link is up, which for an ethernet
device means it has carrier, and b) the configuration policy indicates
that ip *should* be plumbed. It uses dlpi notifications to determine
the link state as needed in condition a).
This behavior works well on many different ethernet drivers. However,
I'm having some problems with the nge links in my desktop.
After a system boot, I've observed the driver reporting the link state
down (sends DL_NOTE_LINK_DOWN in response to a request for link up/down
notifications), even when that's not the case (the device is physically
connected to a switch sitting on my desk). kstat and dladm also report
the link state as down. However, as soon as I plumb ip on the link
('ifconfig nge0 plumb'), the link "magically" comes up.
Note that I'm talking about the layer 2 carrier link, as reported by the
IFF_RUNNING flag, NOT the "up" state indicated by the IFF_UP flag. This
state should have nothing to do with ip.
Any thoughts on what's going on here? Has anyone else seen this? Is
there anything else I could do to try to debug this?
Thanks!
renee
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss