mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 00:34:10 +08:00
ipv4: be more aggressive when probing alternative gateways
Currently, we do not notice if new alternative gateways are added. We can do it by checking for present neigh entry. Also, gateways that are currently probed (NUD_INCOMPLETE) can be skipped from round-robin probing. Suggested-by: Florian Westphal <fw@strlen.de> Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
48fb6b5545
commit
88f6432036
@ -438,13 +438,15 @@ static int fib_detect_death(struct fib_info *fi, int order,
|
||||
if (n) {
|
||||
state = n->nud_state;
|
||||
neigh_release(n);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
if (state == NUD_REACHABLE)
|
||||
return 0;
|
||||
if ((state & NUD_VALID) && order != dflt)
|
||||
return 0;
|
||||
if ((state & NUD_VALID) ||
|
||||
(*last_idx < 0 && order > dflt)) {
|
||||
(*last_idx < 0 && order > dflt && state != NUD_INCOMPLETE)) {
|
||||
*last_resort = fi;
|
||||
*last_idx = order;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user