diff options
Diffstat (limited to 'src/ipcpd/normal/routing.c')
-rw-r--r-- | src/ipcpd/normal/routing.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ipcpd/normal/routing.c b/src/ipcpd/normal/routing.c index bf736311..cc6cdca8 100644 --- a/src/ipcpd/normal/routing.c +++ b/src/ipcpd/normal/routing.c @@ -92,7 +92,7 @@ static void * calculate_pff(void * o) table = NULL; n_table = graph_routing_table(routing.graph, ipcpi.dt_addr, &table); - if (table == NULL) { + if (n_table < 0) { sleep(RECALC_TIME); continue; } @@ -157,6 +157,10 @@ static int routing_neighbor_event(enum nb_event event, size_t len; uint8_t * data; + /* Only announce the flow if our address is bigger */ + if (ipcpi.dt_addr < conn.conn_info.addr) + return 0; + path[0] = '\0'; sprintf(fso_name, "%" PRIu64 "-%" PRIu64, ipcpi.dt_addr, conn.conn_info.addr); |