mirror of https://gitee.com/openkylin/linux.git
batman-adv: update last seen field of single hop originators
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
This commit is contained in:
parent
7587405ab9
commit
4ff1e2a738
|
@ -1379,6 +1379,7 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
|
|||
struct batadv_hard_iface *if_outgoing)
|
||||
{
|
||||
struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface);
|
||||
struct batadv_hardif_neigh_node *hardif_neigh = NULL;
|
||||
struct batadv_neigh_node *router = NULL;
|
||||
struct batadv_neigh_node *router_router = NULL;
|
||||
struct batadv_orig_node *orig_neigh_node;
|
||||
|
@ -1423,6 +1424,13 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (is_single_hop_neigh) {
|
||||
hardif_neigh = batadv_hardif_neigh_get(if_incoming,
|
||||
ethhdr->h_source);
|
||||
if (hardif_neigh)
|
||||
hardif_neigh->last_seen = jiffies;
|
||||
}
|
||||
|
||||
router = batadv_orig_router_get(orig_node, if_outgoing);
|
||||
if (router) {
|
||||
router_router = batadv_orig_router_get(router->orig_node,
|
||||
|
@ -1557,6 +1565,8 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
|
|||
batadv_neigh_node_free_ref(router_router);
|
||||
if (orig_neigh_router)
|
||||
batadv_neigh_node_free_ref(orig_neigh_router);
|
||||
if (hardif_neigh)
|
||||
batadv_hardif_neigh_free_ref(hardif_neigh);
|
||||
|
||||
kfree_skb(skb_priv);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue