Lines Matching defs:lle
205 struct llentry *lle = (struct llentry *)arg;
208 if (lle->la_flags & LLE_STATIC) {
211 LLE_WLOCK(lle);
212 if (callout_pending(&lle->lle_timer)) {
228 LLE_WUNLOCK(lle);
231 ifp = lle->lle_tbl->llt_ifp;
234 switch (lle->ln_state) {
242 llentry_request_feedback(lle);
243 lle->ln_state = ARP_LLINFO_VERIFY;
244 callout_schedule(&lle->lle_timer, hz * V_arpt_rexmit);
245 LLE_WUNLOCK(lle);
249 if (llentry_get_hittime(lle) > 0 && lle->la_preempt > 0) {
254 dst = lle->r_l3addr.addr4;
255 lle->la_preempt--;
256 callout_schedule(&lle->lle_timer, hz * V_arpt_rexmit);
257 LLE_WUNLOCK(lle);
265 if (lle->la_expire > time_uptime) {
266 callout_schedule(&lle->lle_timer, hz * V_arpt_rexmit);
267 LLE_WUNLOCK(lle);
277 if ((lle->la_flags & LLE_DELETED) == 0) {
280 if (lle->la_flags & LLE_VALID)
284 EVENTHANDLER_INVOKE(lle_event, lle, evt);
287 callout_stop(&lle->lle_timer);
289 /* XXX: LOR avoidance. We still have ref on lle. */
290 LLE_WUNLOCK(lle);
292 LLE_WLOCK(lle);
295 if (lle->la_flags & LLE_LINKED) {
296 LLE_REMREF(lle);
297 lltable_unlink_entry(lle->lle_tbl, lle);
301 size_t pkts_dropped = llentry_free(lle);
451 * We have already checked that we can't use an existing lle without
452 * modification so we have to acquire an LLE_EXCLUSIVE lle lock.
494 /* Prefer ANY existing lle over newly-created one */
588 * flags returns subset of lle flags: LLE_VALID | LLE_IFADDR
626 /* Entry found, let's copy lle info */
701 * addresses ( sizeof(lle->ll_addr) )
942 * Request/reply to our address, but no lle exists yet.
943 * Calculate full link prepend to use in lle.
954 * lle creation may fail if source address belongs
969 * Check if lle still does not exists.
981 * existing lle. For the sake of simplicity, prefer any
982 * existing lle over newly-create one.
1015 struct llentry *lle;
1018 lle = lla_lookup(LLTABLE(ifp), 0, (struct sockaddr *)&sin);
1020 if ((lle != NULL) && (lle->la_flags & LLE_PUB)) {
1022 (void)memcpy(ar_sha(ah), lle->ll_addr, ah->ar_hln);
1023 LLE_RUNLOCK(lle);
1025 if (lle != NULL)
1026 LLE_RUNLOCK(lle);
1165 * Updates lle state/performs notification if necessary.
1215 /* Calculate full link prepend to use in lle */
1290 struct llentry *lle, *lle_tmp;
1297 lle = lltable_alloc_entry(LLTABLE(ifp), LLE_IFADDR | LLE_STATIC, dst);
1298 if (lle == NULL) {
1305 LLE_WLOCK(lle);
1311 lltable_link_entry(LLTABLE(ifp), lle);
1317 EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_RESOLVED);
1318 LLE_WUNLOCK(lle);