Lines Matching defs:le
49 struct lsa_entry *le = NULL;
60 while ((le = ls_retrans_list_get(iface->self, lsa_hdr)))
61 ls_retrans_list_free(iface->self, le);
63 while ((le = ls_retrans_list_get(nbr, lsa_hdr)))
64 ls_retrans_list_free(nbr, le);
67 (le = ls_req_list_get(nbr, lsa_hdr)) != NULL) {
68 r = lsa_newer(lsa_hdr, le->le_lsa);
71 ls_req_list_free(nbr, le);
78 ls_req_list_free(nbr, le);
130 le = TAILQ_LAST(&nbr->ls_retrans_list,
132 if (lsa_hdr->type != le->le_lsa->type ||
133 lsa_hdr->ls_id != le->le_lsa->ls_id ||
134 lsa_hdr->adv_rtr != le->le_lsa->adv_rtr)
301 struct lsa_entry *le;
307 if ((le = calloc(1, sizeof(*le))) == NULL)
310 le->le_ref = ref;
311 le->le_when = timeout;
312 le->le_oneshot = oneshot;
314 ls_retrans_list_insert(nbr, le);
328 struct lsa_entry *le;
330 if ((le = ls_retrans_list_get(nbr, lsa_hdr)) == NULL)
338 if (lsa_hdr->seq_num == le->le_ref->hdr.seq_num &&
339 lsa_hdr->ls_chksum == le->le_ref->hdr.ls_chksum &&
340 ntohs(lsa_hdr->age) >= ntohs(le->le_ref->hdr.age)) {
341 ls_retrans_list_free(nbr, le);
351 struct lsa_entry *le;
353 TAILQ_FOREACH(le, &nbr->ls_retrans_list, entry) {
354 if ((lsa_hdr->type == le->le_ref->hdr.type) &&
355 (lsa_hdr->ls_id == le->le_ref->hdr.ls_id) &&
356 (lsa_hdr->adv_rtr == le->le_ref->hdr.adv_rtr))
357 return (le);
365 struct lsa_entry *le;
368 TAILQ_FOREACH(le, &nbr->ls_retrans_list, entry) {
369 if (when < le->le_when) {
371 TAILQ_INSERT_BEFORE(le, new, entry);
375 when -= le->le_when;
383 ls_retrans_list_remove(struct nbr *nbr, struct lsa_entry *le)
386 struct lsa_entry *next = TAILQ_NEXT(le, entry);
391 next->le_when += le->le_when;
393 if (TAILQ_FIRST(&nbr->ls_retrans_list) == le &&
397 TAILQ_REMOVE(&nbr->ls_retrans_list, le, entry);
413 ls_retrans_list_free(struct nbr *nbr, struct lsa_entry *le)
415 ls_retrans_list_remove(nbr, le);
417 lsa_cache_put(le->le_ref, nbr);
418 free(le);
424 struct lsa_entry *le;
426 while ((le = TAILQ_FIRST(&nbr->ls_retrans_list)) != NULL)
427 ls_retrans_list_free(nbr, le);
439 struct lsa_entry *le;
445 if ((le = TAILQ_FIRST(&nbr->ls_retrans_list)) != NULL)
446 le->le_when = 0; /* timer fired */
459 if (le->le_oneshot && nbr->iface->state & IF_STA_DRORBDR)
466 lsa_flood(nbr->iface, nbr, &le->le_ref->hdr,
467 le->le_ref->data);
468 ls_retrans_list_free(nbr, le);
479 le->le_when = 1;
483 while ((le = TAILQ_FIRST(&nbr->ls_retrans_list)) != NULL &&
484 le->le_when == 0) {
485 d = now - le->le_ref->stamp;
491 if (add_ls_update(buf, nbr->iface, le->le_ref->data,
492 le->le_ref->len, d) == 0) {
498 TAILQ_REMOVE(&nbr->ls_retrans_list, le, entry);
500 le->le_when = nbr->iface->rxmt_interval;
501 ls_retrans_list_insert(nbr, le);
506 if (le->le_oneshot)
507 ls_retrans_list_free(nbr, le);
509 TAILQ_REMOVE(&nbr->ls_retrans_list, le, entry);
511 le->le_when = nbr->iface->rxmt_interval;
512 ls_retrans_list_insert(nbr, le);
521 if ((le = TAILQ_FIRST(&nbr->ls_retrans_list)) != NULL) {
523 tv.tv_sec = le->le_when;