ipv4: Revert removal of rt_uses_gateway
Julian noted that rt_uses_gateway has a more subtle use than 'is gateway
set':
https://lore.kernel.org/netdev/alpine.LFD.2.21.1909151104060.2546@ja.home.ssi.bg/
Revert that part of the commit referenced in the Fixes tag.
Currently, there are no u8 holes in 'struct rtable'. There is a 4-byte hole
in the second cacheline which contains the gateway declaration. So move
rt_gw_family down to the gateway declarations since they are always used
together, and then re-use that u8 for rt_uses_gateway. End result is that
rtable size is unchanged.
Fixes: 1550c17193
("ipv4: Prepare rtable for IPv6 gateway")
Reported-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:

committed by
Jakub Kicinski

parent
e84622ce24
commit
77d5bc7e6a
@@ -53,10 +53,11 @@ struct rtable {
|
||||
unsigned int rt_flags;
|
||||
__u16 rt_type;
|
||||
__u8 rt_is_input;
|
||||
u8 rt_gw_family;
|
||||
__u8 rt_uses_gateway;
|
||||
|
||||
int rt_iif;
|
||||
|
||||
u8 rt_gw_family;
|
||||
/* Info on neighbour */
|
||||
union {
|
||||
__be32 rt_gw4;
|
||||
|
Reference in New Issue
Block a user