Date: Sat, 03 Mar 2007 23:40:06 +0000 From: Bruce M Simpson <bms@incunabulum.net> To: Yar Tikhiy <yar@comp.chem.msu.su> Cc: freebsd-net@freebsd.org Subject: Re: [PATCH] Ethernet cleanup; 802.1p input and M_PROMISC Message-ID: <45EA0756.2000107@incunabulum.net> In-Reply-To: <20070303215359.GB40430@comp.chem.msu.su> References: <45E8B964.2090200@incunabulum.net> <20070303215359.GB40430@comp.chem.msu.su>
index | next in thread | previous in thread | raw e-mail
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, BMShome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45EA0756.2000107>
