aboutsummaryrefslogtreecommitdiff
path: root/fs/Kconfig
diff options
context:
space:
mode:
authorIdo Schimmel2020-08-26 19:48:56 +0300
committerDavid S. Miller2020-08-26 16:00:51 -0700
commit885a3b15791d8255a642cc157decac31f767ddd6 (patch)
treedc8674d6f1513441d9ddb64960bfa2c803400b51 /fs/Kconfig
parent05290a2773e798351cdc69d5373a431b4acdd184 (diff)
ipv4: nexthop: Correctly update nexthop group when replacing a nexthop
Each nexthop group contains an indication if it has IPv4 nexthops ('has_v4'). Its purpose is to prevent IPv6 routes from using groups with IPv4 nexthops. However, the indication is not updated when a nexthop is replaced. This results in the kernel wrongly rejecting IPv6 routes from pointing to groups that only contain IPv6 nexthops. Example: # ip nexthop replace id 1 via 192.0.2.2 dev dummy10 # ip nexthop replace id 10 group 1 # ip nexthop replace id 1 via 2001:db8:1::2 dev dummy10 # ip route replace 2001:db8:10::/64 nhid 10 Error: IPv6 routes can not use an IPv4 nexthop. Solve this by iterating over all the nexthop groups that the replaced nexthop is a member of and potentially update their IPv4 indication according to the new set of member nexthops. Avoid wasting cycles by only performing the update in case an IPv4 nexthop is replaced by an IPv6 nexthop. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/Kconfig')
0 files changed, 0 insertions, 0 deletions