net: Change nhc_flags to unsigned char
authorDavid Ahern <dsahern@gmail.com>
Tue, 23 Apr 2019 15:48:09 +0000 (08:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2019 02:44:18 +0000 (19:44 -0700)
commitecc5663cce8c7d7e4eba32af4e1e3cab296c64b9
tree603721eb5458c0346038f29141f1842db7b31e67
parentffa8ce54be3aaf6b15abae3bbd08282b867d3a4f
net: Change nhc_flags to unsigned char

nhc_flags holds the RTNH_F flags for a given nexthop (fib{6}_nh).
All of the RTNH_F_ flags fit in an unsigned char, and since the API to
userspace (rtnh_flags and lower byte of rtm_flags) is 1 byte it can not
grow. Make nhc_flags in fib_nh_common an unsigned char and shrink the
size of the struct by 8, from 56 to 48 bytes.

Update the flags arguments for up netdevice events and fib_nexthop_info
which determines the RTNH_F flags to return on a dump/event. The RTNH_F
flags are passed in the lower byte of rtm_flags which is an unsigned int
so use a temp variable for the flags to fib_nexthop_info and combine
with rtm_flags in the caller.

Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip6_route.h
include/net/ip_fib.h
net/ipv4/fib_semantics.c
net/ipv6/route.c