aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/if_ether.c
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2018-03-17 17:05:48 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2018-03-17 17:05:48 +0000
commit1435dcd94f4defeed211acb37a28f4a255f41616 (patch)
tree7abc6de4a70666a6629595375ac76e2bcc83c28d /sys/netinet/if_ether.c
parent378e38c1cf533d95b6b0cde649aacff88d1a2d4f (diff)
Notes
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r--sys/netinet/if_ether.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 800b51e599e5..8b0725039144 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -504,12 +504,8 @@ arpresolve_full(struct ifnet *ifp, int is_gw, int flags, struct mbuf *m,
}
bcopy(lladdr, desten, ll_len);
- /* Check if we have feedback request from arptimer() */
- if (la->r_skip_req != 0) {
- LLE_REQ_LOCK(la);
- la->r_skip_req = 0; /* Notify that entry was used */
- LLE_REQ_UNLOCK(la);
- }
+ /* Notify LLE code that the entry was used by datapath */
+ llentry_mark_used(la);
if (pflags != NULL)
*pflags = la->la_flags & (LLE_VALID|LLE_IFADDR);
if (plle) {
@@ -640,12 +636,8 @@ arpresolve(struct ifnet *ifp, int is_gw, struct mbuf *m,
bcopy(la->r_linkdata, desten, la->r_hdrlen);
if (pflags != NULL)
*pflags = LLE_VALID | (la->r_flags & RLLE_IFADDR);
- /* Check if we have feedback request from arptimer() */
- if (la->r_skip_req != 0) {
- LLE_REQ_LOCK(la);
- la->r_skip_req = 0; /* Notify that entry was used */
- LLE_REQ_UNLOCK(la);
- }
+ /* Notify the LLE handling code that the entry was used. */
+ llentry_mark_used(la);
if (plle) {
LLE_ADDREF(la);
*plle = la;