Please check if attached patch solves your issues.

This fix is temporary, more proper one is on the way.
Index: route.c
===================================================================
--- route.c	(revision 260226)
+++ route.c	(working copy)
@@ -943,9 +992,20 @@
 	register struct radix_node *rn;
 	int error = 0;
 
-	rn = rnh->rnh_matchaddr(dst, rnh);
+	rn = rnh->rnh_lookup(dst, netmask, rnh);
 	if (rn == NULL)
 		return (ESRCH);
+
+	if (netmask == NULL) {
+		/*
+		 * Check 'perfect match' case
+		 */
+		if (!sa_equal(dst, rn->rn_key))
+			return (ESRCH);
+		if (rn->rn_mask != NULL)
+			return (ESRCH);
+	}
+
 	rto = rt = RNTORT(rn);
 	rt = rt_mpath_matchgate(rt, gateway);
 	if (rt == NULL)
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to