Merge branch 'ipv6_ecmp_fixes'
authorDavid S. Miller <davem@davemloft.net>
Wed, 20 May 2015 16:02:26 +0000 (12:02 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 May 2015 16:02:26 +0000 (12:02 -0400)
commit7764b9dd38f31ce58e6f764e2d7d8399d9b62486
tree2151136cf03e0dadcff04de695f10f91633acf4f
parent892bd6291ac122e3cdb354ef39567c9127768916
parent27596472473a02cfef2908a6bcda7e55264ba6b7
Merge branch 'ipv6_ecmp_fixes'

Michal Kubecek says:

====================
IPv6 ECMP route add/replace fixes

(1) When adding a nexthop of a multipath route fails (e.g. because of a
conflict with an existing route), we are supposed to delete nexthops
already added. However, currently we try to also delete all nexthops we
haven't even tried to add yet so that a "ip route add" command can
actually remove pre-existing routes if it fails.

(2) Attempt to replace a multipath route results in a broken siblings
linked list. Following commands (like "ip route del") can then either
follow a link into freed memory or end in an infinite loop (if the slab
object has been reused).

v2: fix an omission in first patch

v3: change the semantics of replace operation to better match IPv4
====================

Signed-off-by: David S. Miller <davem@davemloft.net>