[Xorp-hackers] OLSR assert

Bruce Simpson bms at incunabulum.net
Wed Sep 30 13:31:17 PDT 2009


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
>   



More information about the Xorp-hackers mailing list