Ben Greear wrote: > The reset_twohop_mpr_state counts neighbors that are strict and reachable. > But, the consider_poorly_covered method checks for reachability == 1. > In the log below, neighbor 10.7.7.7 is not counted in poorly_covered. > Should we maybe check for reachability() > 0 instead of == 1? >
Off the top of my head, for classical OLSR, as specified in the RFC, it needs to be covered by a minimum of 1 neighbour, in terms of links. I don't have the code in front of me, obviously a test of reachability == 1 would be naive. If the fix is that simple, that's great. The "poorly covered" predicate's behaviour changes if ETX metrics (or other compound metrics) are implemented; it then becomes possible for the link to be considered too poor to cover the neighbouring node in the graph, even though the link might exist. For the non-ETX case, the code is probably an inlining candidate, but that's up to the compiler. thanks, BMS > Thanks, > Ben > > > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1723 reset_twohop_mpr_state ] Counting 2-hop > neighbor, is strict and reachable, > n2: 1-(10.9.9.9) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1723 reset_twohop_mpr_state ] Counting 2-hop > neighbor, is strict and reachable, > n2: 2-(10.8.8.8) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1723 reset_twohop_mpr_state ] Counting 2-hop > neighbor, is strict and reachable, > n2: 5-(10.7.7.7) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1723 reset_twohop_mpr_state ] Counting 2-hop > neighbor, is strict and reachable, > n2: 6-(10.6.6.6) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 3-(10.4.4.4) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 1-(10.9.9.9) in > consider_persistent, strict: 1 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 2-(10.8.8.8) in > consider_persistent, strict: 1 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 4-(10.2.2.2) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 5-(10.7.7.7) in > consider_persistent, strict: 1 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 6-(10.6.6.6) in > consider_persistent, strict: 1 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 7-(10.5.5.5) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 4-(10.2.2.2) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 8-(10.3.3.3) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 7-(10.5.5.5) in > consider_persistent, strict: 0 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1836 consider_persistent_cand_mprs ] NOT > covering n2: 5-(10.7.7.7) in > consider_persistent, strict: 1 willingness: 3 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1486 recount_mpr_set ] covered_n2_count after > consider_persistent: 0 > reachable_n2_count: 4 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1878 consider_poorly_covered_twohops ] Counting > poorly_covered n2: 1-(10.9.9.9) > n is set as mpr: 2-(10.3.3.3) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1878 consider_poorly_covered_twohops ] Counting > poorly_covered n2: 2-(10.8.8.8) > n is set as mpr: 2-(10.3.3.3) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1884 consider_poorly_covered_twohops ] NOT > Counting poorly_covered n2: > 3-(10.4.4.4) strict: 0 reachability: 0 n2-covered: 0 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1884 consider_poorly_covered_twohops ] NOT > Counting poorly_covered n2: > 4-(10.2.2.2) strict: 0 reachability: 1 n2-covered: 0 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1884 consider_poorly_covered_twohops ] NOT > Counting poorly_covered n2: > 5-(10.7.7.7) strict: 1 reachability: 2 n2-covered: 0 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1878 consider_poorly_covered_twohops ] Counting > poorly_covered n2: 6-(10.6.6.6) > n is set as mpr: 3-(10.4.4.4) > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1884 consider_poorly_covered_twohops ] NOT > Counting poorly_covered n2: > 7-(10.5.5.5) strict: 0 reachability: 1 n2 > -covered: 0 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1884 consider_poorly_covered_twohops ] NOT > Counting poorly_covered n2: > 8-(10.3.3.3) strict: 0 reachability: 0 n2-covered: 0 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1494 recount_mpr_set ] covered_n2_count after > consider_poorly_covered: 3 > reachable_n2_count: 4 > [ 2009/09/30 12:10:50 WARNING xorp_olsr4:2771 OLSR > contrib/olsr/neighborhood.cc:1503 recount_mpr_set ] covered_n2_count after > consider_remaining: 3 > reachable_n2_count: 4 > [ 2009/09/30 12:10:50 FATAL xorp_olsr4:2771 OLSR +1507 > contrib/olsr/neighborhood.cc recount_mpr_set ] Assertion (covered_n2_count >= > reachable_n2_count) failed > _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
