Skip to content

Commit

Permalink
[IPV6] ROUTE: Do not enable router reachability probing in router mode.
Browse files Browse the repository at this point in the history
RFC4191 explicitly states that the procedures are applicable to
hosts only.  We should not have changed behavior of routers.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
  • Loading branch information
YOSHIFUJI Hideaki authored and David S. Miller committed Nov 22, 2006
1 parent 557e92e commit ea659e0
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions net/ipv6/route.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,10 +380,11 @@ static struct rt6_info *rt6_select(struct rt6_info **head, int oif,
continue;

if (m > mpri) {
rt6_probe(match);
if (strict & RT6_LOOKUP_F_REACHABLE)
rt6_probe(match);
match = rt;
mpri = m;
} else {
} else if (strict & RT6_LOOKUP_F_REACHABLE) {
rt6_probe(rt);
}
}
Expand Down Expand Up @@ -636,7 +637,7 @@ static struct rt6_info *ip6_pol_route_input(struct fib6_table *table,
int strict = 0;
int attempts = 3;
int err;
int reachable = RT6_LOOKUP_F_REACHABLE;
int reachable = ipv6_devconf.forwarding ? 0 : RT6_LOOKUP_F_REACHABLE;

strict |= flags & RT6_LOOKUP_F_IFACE;

Expand Down Expand Up @@ -733,7 +734,7 @@ static struct rt6_info *ip6_pol_route_output(struct fib6_table *table,
int strict = 0;
int attempts = 3;
int err;
int reachable = RT6_LOOKUP_F_REACHABLE;
int reachable = ipv6_devconf.forwarding ? 0 : RT6_LOOKUP_F_REACHABLE;

strict |= flags & RT6_LOOKUP_F_IFACE;

Expand Down

0 comments on commit ea659e0

Please sign in to comment.