From 11d1947814614220a65bd5cfa7b2b891b7e25646 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 30 Aug 2018 21:17:54 +0200 Subject: arp: interface address only specifies the interface, not the source address for route lookup --- sys/src/9/ip/arp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/src/9/ip/arp.c b/sys/src/9/ip/arp.c index 03897c705..c924f6cb2 100644 --- a/sys/src/9/ip/arp.c +++ b/sys/src/9/ip/arp.c @@ -401,7 +401,7 @@ arpwrite(Fs *fs, char *s, int len) if((ifc = findipifc(fs, ia, ia, Runi)) == nil) error("no interface"); rlock(ifc); - if(arpenter(fs, V6, ip, mac, n, ia, ifc, 0) < 0){ + if(!ipv6local(ifc, ia, ip) || arpenter(fs, V6, ip, mac, n, ia, ifc, 0) < 0){ runlock(ifc); error("destination unreachable"); } -- cgit v1.2.3