[Olsr-dev] inconsistency in MID handling
Thu May 7 09:49:13 CEST 2009
I think there is something wrong with the MID handling.
If a host with multiple interfaces becomes unreachable, after a while
all of its rt_paths are deleted (void olsr_delete_rt_path(struct
rt_path *rtp) called).
Unfortunately the MID entry is not removed from MID table.
So when the mentioned host is again available, its MID's route is not
reinserted to the routing table, because only the presence of the MID
entry is checked (by mid_lookup_main_addr(&tmp_adr->alias_addr)). If
there is an existing entry for this MID, insert_mid_alias is not
called, nor insert_mid_tuple which would call
I see two approach to fix this problem:
- if MID entry exists, the code should check the data structures for
- when removing a routing entry belonging to MID alias, also removing
the MID entry.
I'd suppose the first one, because at HNA handling something similar happens.
More information about the Olsr-dev