diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2016-03-24 07:15:11 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2016-03-24 07:15:11 +0000 |
commit | 8921b5f3c88aa65c112dec23058e2f056f43669e (patch) | |
tree | 35438dcffb98640d6889bb3c41e522e45e542564 | |
parent | 0ffd703d14597b9ac057ca404d77320f4add2fac (diff) |
Ensure that a found proxy ARP entry has the correct flag.
ok bluhm@
-rw-r--r-- | sys/netinet/if_ether.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 041025dce8c..50095387798 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ether.c,v 1.202 2016/03/07 11:00:36 mpi Exp $ */ +/* $OpenBSD: if_ether.c,v 1.203 2016/03/24 07:15:10 mpi Exp $ */ /* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */ /* @@ -696,6 +696,12 @@ arplookup(u_int32_t addr, int create, int proxy, u_int tableid) rtfree(rt); return (NULL); } + + if (proxy && !ISSET(rt->rt_flags, RTF_ANNOUNCE)) { + rtfree(rt); + return (NULL); + } + return (rt); } |