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>
                        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);
                }
        }
        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;
 
        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;