/* Remove a neighbor tuple if no more corresponding heard link tuples are left Implements section 13.3 of RFC 6130  */
static void rem_not_heard_nb_tuple(iib_link_set_entry_t *ls_entry, timex_t *now)
/* Remove a neighbor tuple if no more corresponding heard link tuples are left Implements section 13.3 of RFC 6130  */
static void rem_not_heard_nb_tuple(iib_link_set_entry_t *ls_entry, timex_t *now)
{
    if (ls_entry->nb_elt) {
        iib_base_entry_t *base_tmp;
        LL_FOREACH(iib_base_entry_head, base_tmp) {
            iib_link_set_entry_t *ls_tmp;
            LL_FOREACH(base_tmp->link_set_head, ls_tmp) {
                if ((ls_entry->nb_elt == ls_tmp->nb_elt) && (ls_entry != ls_tmp)) {
                    if (timex_cmp(ls_tmp->heard_time, *now) == 1) {
                        return;
                    }
                    ls_tmp->nb_elt = NULL;
                }
            }
        }
        nib_rem_nb_entry(ls_entry->nb_elt);
    }
}