summaryrefslogtreecommitdiff
path: root/init/main.c
diff options
context:
space:
mode:
authorSerhey Popovych <serhe.popovych@gmail.com>2017-06-16 15:44:47 +0300
committerDavid S. Miller <davem@davemloft.net>2017-06-20 12:39:18 -0400
commitbdaf32c3ced3d111b692f0af585f880f82d686c5 (patch)
tree8ec580d8bf57c520aaecf2077fe29e1cbb99bd47 /init/main.c
parent86fdb3448cc1ffe0e9f55380f1410f1d12c35f95 (diff)
fib_rules: Resolve goto rules target on delete
We should avoid marking goto rules unresolved when their target is actually reachable after rule deletion. Consolder following sample scenario: # ip -4 ru sh 0: from all lookup local 32000: from all goto 32100 32100: from all lookup main 32100: from all lookup default 32766: from all lookup main 32767: from all lookup default # ip -4 ru del pref 32100 table main # ip -4 ru sh 0: from all lookup local 32000: from all goto 32100 [unresolved] 32100: from all lookup default 32766: from all lookup main 32767: from all lookup default After removal of first rule with preference 32100 we mark all goto rules as unreachable, even when rule with same preference as removed one still present. Check if next rule with same preference is available and make all rules with goto action pointing to it. Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'init/main.c')
0 files changed, 0 insertions, 0 deletions