Commit 329887ad authored by Simon Wunderlich's avatar Simon Wunderlich Committed by Antonio Quartulli

batman-adv: fix and simplify condition when bonding should be used

The current condition actually does NOT consider bonding when the
interface the packet came in from is the soft interface, which is the
opposite of what it should do (and the comment describes). Fix that and
slightly simplify the condition.
Reported-by: default avatarRay Gibson <booray@gmail.com>
Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: default avatarAntonio Quartulli <antonio@meshcoding.com>
parent 7ce67a38
...@@ -443,11 +443,13 @@ batadv_find_router(struct batadv_priv *bat_priv, ...@@ -443,11 +443,13 @@ batadv_find_router(struct batadv_priv *bat_priv,
router = batadv_orig_router_get(orig_node, recv_if); router = batadv_orig_router_get(orig_node, recv_if);
if (!router)
return router;
/* only consider bonding for recv_if == BATADV_IF_DEFAULT (first hop) /* only consider bonding for recv_if == BATADV_IF_DEFAULT (first hop)
* and if activated. * and if activated.
*/ */
if (recv_if == BATADV_IF_DEFAULT || !atomic_read(&bat_priv->bonding) || if (!(recv_if == BATADV_IF_DEFAULT && atomic_read(&bat_priv->bonding)))
!router)
return router; return router;
/* bonding: loop through the list of possible routers found /* bonding: loop through the list of possible routers found
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment