Commit 4229bea0 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Unconditionally update routes going through a neighbour on IHU.

The logic that attempted to optimise this away was buggy since it
wasn't taking IHU expiration times into account.  At any rate,
this optimisation is probably not worth the complexity.
parent 97ab0b33
...@@ -289,11 +289,10 @@ parse_packet(const unsigned char *from, struct interface *ifp, ...@@ -289,11 +289,10 @@ parse_packet(const unsigned char *from, struct interface *ifp,
format_address(from), ifp->name, format_address(from), ifp->name,
format_address(address)); format_address(address));
if(message[2] == 0 || interface_ll_address(ifp, address)) { if(message[2] == 0 || interface_ll_address(ifp, address)) {
int changed = txcost != neigh->txcost;
neigh->txcost = txcost; neigh->txcost = txcost;
neigh->ihu_time = now; neigh->ihu_time = now;
neigh->ihu_interval = interval; neigh->ihu_interval = interval;
update_neighbour_metric(neigh, changed); update_neighbour_metric(neigh, 1);
if(interval > 0) if(interval > 0)
schedule_neighbours_check(interval * 10 * 3, 0); schedule_neighbours_check(interval * 10 * 3, 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment