Lines Matching refs:lle
91 #define LLE_WLOCK(lle) rw_wlock(&(lle)->lle_lock) argument
92 #define LLE_RLOCK(lle) rw_rlock(&(lle)->lle_lock) argument
93 #define LLE_WUNLOCK(lle) rw_wunlock(&(lle)->lle_lock) argument
94 #define LLE_RUNLOCK(lle) rw_runlock(&(lle)->lle_lock) argument
95 #define LLE_DOWNGRADE(lle) rw_downgrade(&(lle)->lle_lock) argument
96 #define LLE_TRY_UPGRADE(lle) rw_try_upgrade(&(lle)->lle_lock) argument
97 #define LLE_LOCK_INIT(lle) rw_init_flags(&(lle)->lle_lock, "lle", RW_DUPOK) argument
98 #define LLE_LOCK_DESTROY(lle) rw_destroy(&(lle)->lle_lock) argument
99 #define LLE_WLOCK_ASSERT(lle) rw_assert(&(lle)->lle_lock, RA_WLOCKED) argument
101 #define LLE_REQ_INIT(lle) mtx_init(&(lle)->req_mtx, "lle req", \ argument
103 #define LLE_REQ_DESTROY(lle) mtx_destroy(&(lle)->req_mtx) argument
104 #define LLE_REQ_LOCK(lle) mtx_lock(&(lle)->req_mtx) argument
105 #define LLE_REQ_UNLOCK(lle) mtx_unlock(&(lle)->req_mtx) argument
107 #define LLE_IS_VALID(lle) (((lle) != NULL) && ((lle) != (void *)-1)) argument
111 #define LLE_ADDREF(lle) do { \ argument
112 LLE_WLOCK_ASSERT(lle); \
113 KASSERT((lle)->lle_refcnt >= 0, \
115 (lle)->lle_refcnt, (lle))); \
116 (lle)->lle_refcnt++; \
119 #define LLE_REMREF(lle) do { \ argument
120 LLE_WLOCK_ASSERT(lle); \
121 KASSERT((lle)->lle_refcnt > 0, \
123 (lle)->lle_refcnt, (lle))); \
124 (lle)->lle_refcnt--; \
127 #define LLE_FREE_LOCKED(lle) do { \ argument
128 if ((lle)->lle_refcnt == 1) \
129 (lle)->lle_free(lle); \
131 LLE_REMREF(lle); \
132 LLE_WUNLOCK(lle); \
135 (lle) = NULL; \
138 #define LLE_FREE(lle) do { \ argument
139 LLE_WLOCK(lle); \
140 LLE_FREE_LOCKED(lle); \
243 void lltable_set_entry_addr(struct ifnet *ifp, struct llentry *lle,
245 int lltable_try_set_entry_addr(struct ifnet *ifp, struct llentry *lle,
253 void lltable_free_entry(struct lltable *llt, struct llentry *lle);
256 int lltable_link_entry(struct lltable *llt, struct llentry *lle);
257 int lltable_unlink_entry(struct lltable *llt, struct llentry *lle);
260 void lltable_fill_sa_entry(const struct llentry *lle, struct sockaddr *sa);
264 bool lltable_acquire_wlock(struct ifnet *ifp, struct llentry *lle);
281 void llentry_request_feedback(struct llentry *lle);
282 void llentry_mark_used(struct llentry *lle);
283 time_t llentry_get_hittime(struct llentry *lle);
284 int llentry_get_upper_family(const struct llentry *lle, int default_family);
290 llentry_provide_feedback(struct llentry *lle) in llentry_provide_feedback() argument
293 if (__predict_true(lle->r_skip_req == 0)) in llentry_provide_feedback()
295 llentry_mark_used(lle); in llentry_provide_feedback()
297 struct llentry *llentry_lookup_family(struct llentry *lle, int family);