[Olsr-dev] inconsistency in MID handling

Peter Tarjan (spam-protected)
Thu May 7 09:49:13 CEST 2009


Hi,

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
olsr_insert_routing_table.

I see two approach to fix this problem:
- if MID entry exists, the code should check the data structures for
routing, too
- 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.

--
Peter




More information about the Olsr-dev mailing list