cvs commit: src/sys/net if_bridge.c
thompsa at freebsd.org
Tue Jan 3 09:58:04 PST 2006
On Tue, Jan 03, 2006 at 12:21:56PM +0100, Pawel Jakub Dawidek wrote:
> On Mon, Jan 02, 2006 at 11:02:43PM +0000, Andrew Thompson wrote:
> +> thompsa 2006-01-02 23:02:43 UTC
> +> FreeBSD src repository
> +> Modified files:
> +> sys/net if_bridge.c
> +> Log:
> +> Fix a brain-o in the last commit, the conditional was always false.
> +> - if (flags & IFBAF_DYNAMIC)
> +> + if ((flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC)
> On first look, I thought it does exactly the same thing, but I checked
> the code and now I know it doesn't - IFBAF_DYNAMIC is 0x00.
Yes, I was surprised and a little peeved too. This has been inherited
> Another example that giving 0 for a define which should represent a flag
> is a bad idea. The same problem we had in the past with M_NOWAIT.
> You should consider changing it to some real value to avoid mistakes
> like this in the future or removing IFBAF_DYNAMIC entirely and changing
> such condition to 'if (!(flags & IFBAF_STATIC))'.
It may be best to leave IFBAF_STATIC as 0x01 and set IFBAF_DYNAMIC to
0x02, this would make the MFC less invasive. I'll get it sorted out.
More information about the cvs-all