aboutsummaryrefslogtreecommitdiffstats
path: root/net/mpls/internal.h
diff options
context:
space:
mode:
authorDavid Ahern <dsa@cumulusnetworks.com>2017-03-31 07:14:00 -0700
committerDavid S. Miller <davem@davemloft.net>2017-04-01 20:21:44 -0700
commit77ef013aadadd248843ad90022f36ba177b24e7f (patch)
tree944da02d049a953f9ca22660300af25b8493dcfe /net/mpls/internal.h
parentnet: mpls: rt_nhn_alive and nh_flags should be accessed using READ_ONCE (diff)
downloadlinux-dev-77ef013aadadd248843ad90022f36ba177b24e7f.tar.xz
linux-dev-77ef013aadadd248843ad90022f36ba177b24e7f.zip
net: mpls: Convert number of nexthops to u8
Number of nexthops and number of alive nexthops are tracked using an unsigned int. A route should never have more than 255 nexthops so convert both to u8. Update all references and intermediate variables to consistently use u8 as well. Shrinks the size of mpls_route from 32 bytes to 24 bytes with a 2-byte hole before the nexthops. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mpls/internal.h')
-rw-r--r--net/mpls/internal.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/mpls/internal.h b/net/mpls/internal.h
index 91419fe63464..2ac97433c3b7 100644
--- a/net/mpls/internal.h
+++ b/net/mpls/internal.h
@@ -127,12 +127,13 @@ struct mpls_route { /* next hop label forwarding entry */
u8 rt_payload_type;
u8 rt_max_alen;
u8 rt_ttl_propagate;
- unsigned int rt_nhn;
+ u8 rt_nhn;
/* rt_nhn_alive is accessed under RCU in the packet path; it
* is modified handling netdev events with rtnl lock held
*/
- unsigned int rt_nhn_alive;
+ u8 rt_nhn_alive;
+ u16 rt_reserved1;
struct mpls_nh rt_nh[0];
};