nbr2_list = olsr_lookup_nbr2_list_entry(nbr, &nbr2->neighbor_2_addr);
if (nbr2_list) {
- /*
+ /*
* Refresh timer.
*/
- olsr_change_timer(nbr2_list->nbr2_list_timer, vtime, OLSR_NBR2_LIST_JITTER, OLSR_TIMER_ONESHOT);
+ olsr_change_timer(nbr2_list->neighbor_2->nbr2_list_timer, vtime, OLSR_NBR2_LIST_JITTER, OLSR_TIMER_ONESHOT);
return nbr2_list;
}
/*
* Start the timer.
*/
- olsr_start_timer(vtime, OLSR_NBR2_LIST_JITTER, OLSR_TIMER_ONESHOT,
+ nbr2->nbr2_list_timer = olsr_start_timer(vtime, OLSR_NBR2_LIST_JITTER, OLSR_TIMER_ONESHOT,
&olsr_expire_nbr2_list, nbr2_list, nbr2_list_timer_cookie->ci_id);
/* Add to the nbr2 reference subtree */
/*
* Kill running timers.
*/
- olsr_stop_timer(nbr2_list->nbr2_list_timer);
- nbr2_list->nbr2_list_timer = NULL;
+ olsr_stop_timer(nbr2_list->neighbor_2->nbr2_list_timer);
+ nbr2_list->neighbor_2->nbr2_list_timer = NULL;
/* Remove from neighbor2 reference subtree */
avl_delete(&nbr->nbr2_list_tree, &nbr2_list->nbr2_list_node);
/**
* Lookup a neighbor entry in the neighbortable based on an address.
* Unalias the passed in address before.
- *
+ *
* @param addr the IP address of the neighbor to look up
*
* @return a pointer to the neighbor struct registered on the given
struct neighbor_2_entry *nbr2;
nbr2_list = (struct nbr2_list_entry *)context;
- nbr2_list->nbr2_list_timer = NULL;
+ nbr2_list->neighbor_2->nbr2_list_timer = NULL;
nbr = nbr2_list->nbr2_nbr;
nbr2 = nbr2_list->neighbor_2;
struct avl_node nbr2_list_node;
struct nbr_entry *nbr2_nbr; /* backpointer to owning nbr entry */
struct neighbor_2_entry *neighbor_2;
- struct timer_entry *nbr2_list_timer;
};
AVLNODE2STRUCT(nbr2_list_node_to_nbr2_list, struct nbr2_list_entry, nbr2_list_node);
struct neighbor_list_entry *walker;
/* Updating the holding time for this neighbor */
- olsr_set_timer(&two_hop_neighbor_yet->nbr2_list_timer,
+ olsr_set_timer(&two_hop_neighbor_yet->neighbor_2->nbr2_list_timer,
message->comm.vtime, OLSR_NBR2_LIST_JITTER,
OLSR_TIMER_ONESHOT, &olsr_expire_nbr2_list, two_hop_neighbor_yet, nbr2_list_timer_cookie->ci_id);
uint8_t mpr_covered_count; /*used in mpr calculation */
uint8_t processed; /*used in mpr calculation */
int16_t neighbor_2_pointer; /* Neighbor count */
+ struct timer_entry *nbr2_list_timer;
struct neighbor_list_entry neighbor_2_nblist;
struct neighbor_2_entry *prev;
struct neighbor_2_entry *next;
extern struct neighbor_2_entry two_hop_neighbortable[HASHSIZE];
-void olsr_init_two_hop_table(void);
+void olsr_init_two_hop_table(void);
void olsr_delete_neighbor_pointer(struct neighbor_2_entry *, struct nbr_entry *);
void olsr_delete_two_hop_neighbor_table(struct neighbor_2_entry *);
void olsr_insert_two_hop_neighbor_table(struct neighbor_2_entry *);