Commit 4ff1e2a7 authored by Marek Lindner's avatar Marek Lindner Committed by Antonio Quartulli

batman-adv: update last seen field of single hop originators

Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: default avatarAntonio Quartulli <antonio@meshcoding.com>
parent 7587405a
...@@ -1379,6 +1379,7 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset, ...@@ -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_hard_iface *if_outgoing)
{ {
struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); 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 = NULL;
struct batadv_neigh_node *router_router = NULL; struct batadv_neigh_node *router_router = NULL;
struct batadv_orig_node *orig_neigh_node; 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, ...@@ -1423,6 +1424,13 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
goto out; 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); router = batadv_orig_router_get(orig_node, if_outgoing);
if (router) { if (router) {
router_router = batadv_orig_router_get(router->orig_node, 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, ...@@ -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); batadv_neigh_node_free_ref(router_router);
if (orig_neigh_router) if (orig_neigh_router)
batadv_neigh_node_free_ref(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); kfree_skb(skb_priv);
} }
......
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