Yar Tikhiy wrote:
In fact, there two independent flags indicating interface's readiness:
IFF_UP and IFF_DRV_RUNNING. The former is controlled by the admin
and the latter, by the driver. E.g., an interface can be UP but
not really ready to operate due to h/w reasons, or vice versa.
Perhaps we should check both flags to see if the interface is, so
to say, up and running. if_vlan.c has an obvious macro for that,
and it can go to if_var.h to avoid code duplication if we decide it's
the right way to take.
Thanks for looking at this.
The purpose of the IFF_UP check is to immediately drop frames destined
for an interface which is administratively configured down.
Surely if ether_input() is called from the driver, there should be no
need to check IFF_DRV_RUNNING? Indeed if the hardware flips to a state
where it is not running but its internal queues or descriptor rings are
draining, this might cause frames to be lost?
Regards,
BMS
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"