X-Git-Url: http://git.archive.openwrt.org/?p=project%2Frelayd.git;a=blobdiff_plain;f=main.c;h=2f3bae855be804c6b26ef2e03dde1579a63f5e2f;hp=9361c97febd4cfa21caadcb31479be448095b84e;hb=d515c3bc3b1eb92c4ae9f5e8f51ea3886b8d2d2f;hpb=931b54fa982bcc163009a3fe61cff5173aaa79d8 diff --git a/main.c b/main.c index 9361c97..2f3bae8 100644 --- a/main.c +++ b/main.c @@ -360,7 +360,9 @@ static void recv_arp_request(struct relayd_interface *rif, struct arp_packet *pk return; } - relayd_refresh_host(rif, pkt->eth.ether_shost, pkt->arp.arp_spa); + host = find_host_by_ipaddr(NULL, pkt->arp.arp_spa); + if (!host || host->rif != rif) + relayd_refresh_host(rif, pkt->eth.ether_shost, pkt->arp.arp_spa); host = find_host_by_ipaddr(NULL, pkt->arp.arp_tpa);