mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 17:43:59 +00:00
batman-adv: linearise the tt_response skb only if needed
The TT_RESPONSE skb has to be linearised only if the node plans to access the packet payload (so only if the message is directed to that node). In all the other cases the node can avoid this memory operation Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
d099c2c541
commit
dc58fe32e6
@ -616,13 +616,14 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
}
|
||||
break;
|
||||
case TT_RESPONSE:
|
||||
/* packet needs to be linearized to access the TT changes */
|
||||
if (skb_linearize(skb) < 0)
|
||||
goto out;
|
||||
if (is_my_mac(tt_query->dst)) {
|
||||
/* packet needs to be linearized to access the TT
|
||||
* changes */
|
||||
if (skb_linearize(skb) < 0)
|
||||
goto out;
|
||||
|
||||
if (is_my_mac(tt_query->dst))
|
||||
handle_tt_response(bat_priv, tt_query);
|
||||
else {
|
||||
} else {
|
||||
bat_dbg(DBG_TT, bat_priv,
|
||||
"Routing TT_RESPONSE to %pM [%c]\n",
|
||||
tt_query->dst,
|
||||
|
Loading…
x
Reference in New Issue
Block a user