aboutsummaryrefslogtreecommitdiff
path: root/sys/net/if_llatbl.h
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2014-12-07 23:08:07 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2014-12-07 23:08:07 +0000
commit0368226e65a704e635c755b540c4fa4d2c474be0 (patch)
treed91fa03e5e4abc1c0b131ab5f3a5f3dc2f66fa7a /sys/net/if_llatbl.h
parent721cd2e032474f69f4897a5571a5b1bbd90bc3f5 (diff)
downloadsrc-0368226e65a704e635c755b540c4fa4d2c474be0.tar.gz
src-0368226e65a704e635c755b540c4fa4d2c474be0.zip
* Retire abstract llentry_free() in favor of lltable_drop_entry_queue()
and explicit calls to RTENTRY_FREE_LOCKED() * Use lltable_prefix_free() in arp_ifscrub to be consistent with nd6. * Rename <lltable_|llt>_delete function to _delete_addr() to note that this function is used to external callers. Make this function maintain its own locking. * Use lookup/unlink/clear call chain from internal callers instead of delete_addr. * Fix LLE_DELETED flag handling
Notes
Notes: svn path=/projects/routing/; revision=275586
Diffstat (limited to 'sys/net/if_llatbl.h')
-rw-r--r--sys/net/if_llatbl.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/net/if_llatbl.h b/sys/net/if_llatbl.h
index 8f8dc60e1199..bff24977cecd 100644
--- a/sys/net/if_llatbl.h
+++ b/sys/net/if_llatbl.h
@@ -151,7 +151,7 @@ typedef struct llentry *(llt_lookup_t)(struct lltable *, u_int flags,
const struct sockaddr *l3addr);
typedef struct llentry *(llt_create_t)(struct lltable *, u_int flags,
const struct sockaddr *l3addr);
-typedef int (llt_delete_t)(struct lltable *, u_int flags,
+typedef int (llt_delete_addr_t)(struct lltable *, u_int flags,
const struct sockaddr *l3addr);
typedef int (llt_dump_entry_t)(struct lltable *, struct llentry *,
struct sysctl_req *);
@@ -175,7 +175,7 @@ struct lltable {
llt_lookup_t *llt_lookup;
llt_create_t *llt_create;
- llt_delete_t *llt_delete;
+ llt_delete_addr_t *llt_delete_addr;
llt_dump_entry_t *llt_dump_entry;
llt_hash_t *llt_hash;
llt_match_prefix_t *llt_match_prefix;
@@ -219,10 +219,12 @@ void lltable_drain(int);
#endif
int lltable_sysctl_dumparp(int, struct sysctl_req *);
-size_t llentry_free(struct llentry *);
struct llentry *llentry_alloc(struct ifnet *, struct lltable *,
struct sockaddr_storage *);
+/* helper functions */
+size_t lltable_drop_entry_queue(struct llentry *);
+
/*
* Generic link layer address lookup function.
*/
@@ -243,11 +245,11 @@ lltable_create_lle(struct lltable *llt, u_int flags,
}
static __inline int
-lltable_delete_lle(struct lltable *llt, u_int flags,
+lltable_delete_addr(struct lltable *llt, u_int flags,
const struct sockaddr *l3addr)
{
- return llt->llt_delete(llt, flags, l3addr);
+ return llt->llt_delete_addr(llt, flags, l3addr);
}
static __inline void