changeset 1889:069e68f6df28 draft

Fix incorrectly expiring routers on multi-homed systems.
author Roy Marples <roy@marples.name>
date Tue, 02 Apr 2013 06:50:33 +0000
parents 19999aa446db
children 00e9b4d0b53d
files ipv6ns.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ipv6ns.c	Mon Apr 01 12:24:39 2013 +0000
+++ b/ipv6ns.c	Tue Apr 02 06:50:33 2013 +0000
@@ -341,7 +341,8 @@
 	}
 
 	TAILQ_FOREACH(rap, &ipv6_routers, next) {
-		if (memcmp(rap->from.s6_addr, from.sin6_addr.s6_addr,
+		if (rap->iface == ifp &&
+		    memcmp(rap->from.s6_addr, from.sin6_addr.s6_addr,
 		    sizeof(rap->from.s6_addr)) == 0)
 			break;
 	}