Subject: auto-negotiation and interface flags
To: None <tech-net@netbsd.org>
From: john heasley <heas@shrubbery.net>
List: tech-net
Date: 07/08/2003 09:23:15
Two flags an interface can have are
#define IFF_UP 0x0001 /* interface is up */
#define IFF_RUNNING 0x0040 /* resources allocated */
IFF_UP appears to mean only that an interface has been configured as
up by ifconfig.
IFF_RUNNING seems to really mean nothing concrete. eg: for gem and
ex, it just indicates that chip initialization was successful.
If an interface is set for auto-negotiation and ifconfig marks the
interface IFF_UP, the interface is in fact unavailable for tx/rx
until auto-neg completes (which seems to take some time for gem(4)
w/ cisco catalyst), but packets can now be enqueued.
I asuume I have missed something? I do not see the point in queuing
packets for an unusable interface. And, if there were a routing daemon
watching for interface state transition, it can not directly tell
if the intf is unusable.