Prevent update_node_udp from changing our udp address

Follup to 6dbcd4eb3d

- myself is always reachable
- do not call update_node_udp if e->to == myself
This commit is contained in:
thorkill 2015-07-20 08:19:13 +02:00
parent 6dbcd4eb3d
commit 8c4cdfc37c

View file

@ -149,6 +149,7 @@ static void sssp_bfs(void) {
myself->status.visited = true; myself->status.visited = true;
myself->status.indirect = false; myself->status.indirect = false;
myself->status.reachable = true;
myself->nexthop = myself; myself->nexthop = myself;
myself->prevedge = NULL; myself->prevedge = NULL;
myself->via = myself; myself->via = myself;
@ -205,7 +206,7 @@ static void sssp_bfs(void) {
e->to->options = e->options; e->to->options = e->options;
e->to->distance = n->distance + 1; e->to->distance = n->distance + 1;
if(!e->to->status.reachable || (e->to->address.sa.sa_family == AF_UNSPEC && e->address.sa.sa_family != AF_UNKNOWN)) if(!e->to->status.reachable || (e->to != myself && e->to->address.sa.sa_family == AF_UNSPEC && e->address.sa.sa_family != AF_UNKNOWN))
update_node_udp(e->to, &e->address); update_node_udp(e->to, &e->address);
list_insert_tail(todo_list, e->to); list_insert_tail(todo_list, e->to);