[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