Re: is "volatile" the cause of ifconfig flags not matching sysfs flags?

Stephen Hemminger
2018-08-23T02:20:17Z

On Wed, 22 Aug 2018 18:32:36 -0400 (EDT)
"Robert P. J. Day" <rpjday@crashcourse.ca> wrote:

> almost certainly another dumb question, but i was poking around the
> sysfs, particularly /sys/class/net/<ifname>/*, to familiarize myself
> with what i can glean (or set) re interfaces under /sys, and i noticed
> "flags", but what i get there doesn't match what i get by running
> ifconfig.
>
> specifically, if i list the flags for my wireless interface under
> /sys:
>
> $ cat flags
> 0x1003
> $
>
> but with ifconfig:
>
> $ ifconfig wlp2s0
> wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> ^^^^
>
> do those two "flags" values represent the same set of flags? and
> does the obvious difference have to do with some of those flags being
> "volatile" as dewscribed in include/uapi/linux/if.h? or am i just
> totally misreading this?
>
> rday
>

sysfs reports netdevice->if_flags where as ifconfig is getting hex
value from SIOCGIFFLAGS which does:
dev_get_flags(dev)

The value in sysfs is more intended for internal debugging, where all the
normal userspace API's return a more limited set of historical values.