On Wed, 12 Apr 2006 13:10:06 -0700
Ben Greear <[EMAIL PROTECTED]> wrote:

> What is the reasoning for this change?  Is the compiler
> able to optomize the right-hand-side to a constant with your
> change in place?
> 
> > -   if (veth->h_vlan_proto != __constant_htons(ETH_P_8021Q)) {
> > +   if (veth->h_vlan_proto != htons(ETH_P_8021Q)) {
> >             return -EINVAL;
> >     }

Read the source, the macro handles it.

For i386:
        htons maps to __cpu_to_be16
        cpu_to_be16 maps to swab16 which is defined in swab.h

#  define __swab16(x) \
(__builtin_constant_p((__u16)(x)) ? \
 ___swab16((x)) : \
 __fswab16((x)))


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to