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

From: Stephen Hemminger <[email-masked]>
Date: Wed, 22 Aug 2018 15:53:22 -0700

On Wed, 22 Aug 2018 18:32:36 -0400 (EDT)
"Robert P. J. Day" <[email-masked]> 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.