IFF_LOWER_UP does not fit in ifr_flags

From: Fredrik Arnerup
Date: Thu May 28 2009 - 09:08:59 EST


Documentation/networking/operstates.txt (and netdevice(7)) claims that
the flags IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO can be read from user space
using ioctl() with SIOCGIFFLAGS. Looking in include/linux/if.h however,
the flags are returned in a struct ifreq in the field ifr_flags which
is declared as a short, while the flags are defined as:

#define IFF_LOWER_UP 0x10000 /* driver signals L1 up */
#define IFF_DORMANT 0x20000 /* driver signals dormant */
#define IFF_ECHO 0x40000 /* echo sent packets */

Those aren't shorts, are they? In net/core/dev.c dev_get_flags() returns
an unsigned which is assigned to ifr_flags directly.

Looked at linux/kernel/git/stable/linux-2.6.29.y.git.
CC me please.

/Fredrik Arnerup
fredrik.arnerup@xxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/