mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
ipv4: Fix scope value used in route src-address caching.
We have to use cfg->fc_scope not the final nh_scope value. Reported-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1fc050a134
commit
a7ac8fc1d8
@ -51,6 +51,7 @@ struct fib_nh {
|
||||
struct fib_info *nh_parent;
|
||||
unsigned nh_flags;
|
||||
unsigned char nh_scope;
|
||||
unsigned char nh_cfg_scope;
|
||||
#ifdef CONFIG_IP_ROUTE_MULTIPATH
|
||||
int nh_weight;
|
||||
int nh_power;
|
||||
|
@ -854,9 +854,10 @@ struct fib_info *fib_create_info(struct fib_config *cfg)
|
||||
}
|
||||
|
||||
change_nexthops(fi) {
|
||||
nexthop_nh->nh_cfg_scope = cfg->fc_scope;
|
||||
nexthop_nh->nh_saddr = inet_select_addr(nexthop_nh->nh_dev,
|
||||
nexthop_nh->nh_gw,
|
||||
nexthop_nh->nh_scope);
|
||||
nexthop_nh->nh_cfg_scope);
|
||||
} endfor_nexthops(fi)
|
||||
|
||||
link_it:
|
||||
@ -1141,7 +1142,7 @@ void fib_update_nh_saddrs(struct net_device *dev)
|
||||
continue;
|
||||
nh->nh_saddr = inet_select_addr(nh->nh_dev,
|
||||
nh->nh_gw,
|
||||
nh->nh_scope);
|
||||
nh->nh_cfg_scope);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user