batman-adv: add bat_neigh_is_equiv_or_better API function
Each routing protocol has its own metric semantic and therefore is the protocol itself the only component able to compare two metrics to check their "similarity". This new API allows each routing protocol to implement its own logic and make the external code protocol agnostic. Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
This commit is contained in:

committed by
Antonio Quartulli

parent
a3285a8f20
commit
c43c981e50
@@ -502,7 +502,8 @@ int batadv_algo_register(struct batadv_algo_ops *bat_algo_ops)
|
||||
!bat_algo_ops->bat_primary_iface_set ||
|
||||
!bat_algo_ops->bat_ogm_schedule ||
|
||||
!bat_algo_ops->bat_ogm_emit ||
|
||||
!bat_algo_ops->bat_neigh_cmp) {
|
||||
!bat_algo_ops->bat_neigh_cmp ||
|
||||
!bat_algo_ops->bat_neigh_is_equiv_or_better) {
|
||||
pr_info("Routing algo '%s' does not implement required ops\n",
|
||||
bat_algo_ops->name);
|
||||
ret = -EINVAL;
|
||||
|
Reference in New Issue
Block a user