Lines Matching refs:orig_node
67 struct batadv_orig_node *orig_node, in _batadv_update_route() argument
74 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, recv_if); in _batadv_update_route()
78 spin_lock_bh(&orig_node->neigh_list_lock); in _batadv_update_route()
93 spin_unlock_bh(&orig_node->neigh_list_lock); in _batadv_update_route()
99 "Deleting route towards: %pM\n", orig_node->orig); in _batadv_update_route()
100 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in _batadv_update_route()
107 orig_node->orig, neigh_node->addr); in _batadv_update_route()
112 orig_node->orig, neigh_node->addr, in _batadv_update_route()
129 struct batadv_orig_node *orig_node, in batadv_update_route() argument
135 if (!orig_node) in batadv_update_route()
138 router = batadv_orig_router_get(orig_node, recv_if); in batadv_update_route()
141 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node); in batadv_update_route()
235 struct batadv_orig_node *orig_node = NULL; in batadv_recv_my_icmp_packet() local
258 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig); in batadv_recv_my_icmp_packet()
259 if (!orig_node) in batadv_recv_my_icmp_packet()
273 res = batadv_send_skb_to_orig(skb, orig_node, NULL); in batadv_recv_my_icmp_packet()
296 if (orig_node) in batadv_recv_my_icmp_packet()
297 batadv_orig_node_put(orig_node); in batadv_recv_my_icmp_packet()
308 struct batadv_orig_node *orig_node = NULL; in batadv_recv_icmp_ttl_exceeded() local
326 orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->orig); in batadv_recv_icmp_ttl_exceeded()
327 if (!orig_node) in batadv_recv_icmp_ttl_exceeded()
341 res = batadv_send_skb_to_orig(skb, orig_node, NULL); in batadv_recv_icmp_ttl_exceeded()
351 if (orig_node) in batadv_recv_icmp_ttl_exceeded()
352 batadv_orig_node_put(orig_node); in batadv_recv_icmp_ttl_exceeded()
373 struct batadv_orig_node *orig_node = NULL; in batadv_recv_icmp_packet() local
428 orig_node = batadv_orig_hash_find(bat_priv, icmph->dst); in batadv_recv_icmp_packet()
429 if (!orig_node) in batadv_recv_icmp_packet()
442 res = batadv_send_skb_to_orig(skb, orig_node, recv_if); in batadv_recv_icmp_packet()
450 if (orig_node) in batadv_recv_icmp_packet()
451 batadv_orig_node_put(orig_node); in batadv_recv_icmp_packet()
505 batadv_last_bonding_get(struct batadv_orig_node *orig_node) in batadv_last_bonding_get() argument
509 spin_lock_bh(&orig_node->neigh_list_lock); in batadv_last_bonding_get()
510 last_bonding_candidate = orig_node->last_bonding_candidate; in batadv_last_bonding_get()
514 spin_unlock_bh(&orig_node->neigh_list_lock); in batadv_last_bonding_get()
525 batadv_last_bonding_replace(struct batadv_orig_node *orig_node, in batadv_last_bonding_replace() argument
530 spin_lock_bh(&orig_node->neigh_list_lock); in batadv_last_bonding_replace()
531 old_candidate = orig_node->last_bonding_candidate; in batadv_last_bonding_replace()
535 orig_node->last_bonding_candidate = new_candidate; in batadv_last_bonding_replace()
536 spin_unlock_bh(&orig_node->neigh_list_lock); in batadv_last_bonding_replace()
553 struct batadv_orig_node *orig_node, in batadv_find_router() argument
566 if (!orig_node) in batadv_find_router()
569 router = batadv_orig_router_get(orig_node, recv_if); in batadv_find_router()
589 last_candidate = batadv_last_bonding_get(orig_node); in batadv_find_router()
593 hlist_for_each_entry_rcu(cand, &orig_node->ifinfo_list, list) { in batadv_find_router()
659 batadv_last_bonding_replace(orig_node, next_candidate); in batadv_find_router()
665 batadv_last_bonding_replace(orig_node, first_candidate); in batadv_find_router()
667 batadv_last_bonding_replace(orig_node, NULL); in batadv_find_router()
691 struct batadv_orig_node *orig_node = NULL; in batadv_route_unicast_packet() local
707 orig_node = batadv_orig_hash_find(bat_priv, unicast_packet->dest); in batadv_route_unicast_packet()
709 if (!orig_node) in batadv_route_unicast_packet()
737 res = batadv_send_skb_to_orig(skb, orig_node, recv_if); in batadv_route_unicast_packet()
752 batadv_orig_node_put(orig_node); in batadv_route_unicast_packet()
778 struct batadv_orig_node *orig_node = NULL; in batadv_reroute_unicast_packet() local
790 orig_node = batadv_transtable_search(bat_priv, NULL, dst_addr, in batadv_reroute_unicast_packet()
792 if (!orig_node) in batadv_reroute_unicast_packet()
795 if (batadv_compare_eth(orig_node->orig, unicast_packet->dest)) in batadv_reroute_unicast_packet()
798 orig_addr = orig_node->orig; in batadv_reroute_unicast_packet()
799 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_reroute_unicast_packet()
812 if (orig_node) in batadv_reroute_unicast_packet()
813 batadv_orig_node_put(orig_node); in batadv_reroute_unicast_packet()
823 struct batadv_orig_node *orig_node; in batadv_check_unicast_ttvn() local
868 orig_node = batadv_orig_hash_find(bat_priv, in batadv_check_unicast_ttvn()
874 if (!orig_node) in batadv_check_unicast_ttvn()
877 curr_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_check_unicast_ttvn()
878 batadv_orig_node_put(orig_node); in batadv_check_unicast_ttvn()
973 struct batadv_orig_node *orig_node = NULL, *orig_node_gw = NULL; in batadv_recv_unicast_packet() local
1034 orig_node = batadv_orig_hash_find(bat_priv, in batadv_recv_unicast_packet()
1047 orig_node); in batadv_recv_unicast_packet()
1050 if (orig_node) in batadv_recv_unicast_packet()
1051 batadv_orig_node_put(orig_node); in batadv_recv_unicast_packet()
1197 struct batadv_orig_node *orig_node = NULL; in batadv_recv_bcast_packet() local
1232 orig_node = batadv_orig_hash_find(bat_priv, bcast_packet->orig); in batadv_recv_bcast_packet()
1234 if (!orig_node) in batadv_recv_bcast_packet()
1237 spin_lock_bh(&orig_node->bcast_seqno_lock); in batadv_recv_bcast_packet()
1241 if (batadv_test_bit(orig_node->bcast_bits, orig_node->last_bcast_seqno, in batadv_recv_bcast_packet()
1245 seq_diff = seqno - orig_node->last_bcast_seqno; in batadv_recv_bcast_packet()
1250 &orig_node->bcast_seqno_reset, NULL)) in batadv_recv_bcast_packet()
1256 if (batadv_bit_get_packet(bat_priv, orig_node->bcast_bits, seq_diff, 1)) in batadv_recv_bcast_packet()
1257 orig_node->last_bcast_seqno = seqno; in batadv_recv_bcast_packet()
1259 spin_unlock_bh(&orig_node->bcast_seqno_lock); in batadv_recv_bcast_packet()
1273 if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size)) in batadv_recv_bcast_packet()
1282 batadv_interface_rx(recv_if->soft_iface, skb, hdr_size, orig_node); in batadv_recv_bcast_packet()
1289 spin_unlock_bh(&orig_node->bcast_seqno_lock); in batadv_recv_bcast_packet()
1293 if (orig_node) in batadv_recv_bcast_packet()
1294 batadv_orig_node_put(orig_node); in batadv_recv_bcast_packet()