Lines Matching refs:bat_priv
214 const u8 *dst, struct batadv_priv *bat_priv, in batadv_tp_batctl_notify() argument
232 batadv_netlink_tpmeter_notify(bat_priv, dst, result, test_time, in batadv_tp_batctl_notify()
245 struct batadv_priv *bat_priv, in batadv_tp_batctl_error_notify() argument
248 batadv_tp_batctl_notify(reason, dst, bat_priv, 0, 0, cookie); in batadv_tp_batctl_error_notify()
261 static struct batadv_tp_vars *batadv_tp_list_find(struct batadv_priv *bat_priv, in batadv_tp_list_find() argument
267 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find()
300 batadv_tp_list_find_session(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_list_find_session() argument
306 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find_session()
371 static void batadv_tp_sender_cleanup(struct batadv_priv *bat_priv, in batadv_tp_sender_cleanup() argument
376 spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_sender_cleanup()
378 spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_sender_cleanup()
383 atomic_dec(&tp_vars->bat_priv->tp_num); in batadv_tp_sender_cleanup()
401 static void batadv_tp_sender_end(struct batadv_priv *bat_priv, in batadv_tp_sender_end() argument
406 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
410 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
414 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
423 bat_priv, in batadv_tp_sender_end()
488 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_sender_timeout() local
511 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_timeout()
626 static void batadv_tp_recv_ack(struct batadv_priv *bat_priv, in batadv_tp_recv_ack() argument
644 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_recv_ack()
657 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_recv_ack()
661 orig_node = batadv_orig_hash_find(bat_priv, icmp->orig); in batadv_tp_recv_ack()
699 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_ack()
810 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_send() local
822 orig_node = batadv_orig_hash_find(bat_priv, tp_vars->other_end); in batadv_tp_send()
829 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_send()
870 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_send()
892 batadv_tp_sender_end(bat_priv, tp_vars); in batadv_tp_send()
893 batadv_tp_sender_cleanup(bat_priv, tp_vars); in batadv_tp_send()
908 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_start_kthread() local
919 bat_priv, session_cookie); in batadv_tp_start_kthread()
925 batadv_tp_sender_cleanup(bat_priv, tp_vars); in batadv_tp_start_kthread()
939 void batadv_tp_start(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_start() argument
953 spin_lock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
954 tp_vars = batadv_tp_list_find(bat_priv, dst); in batadv_tp_start()
956 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
958 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
961 dst, bat_priv, session_cookie); in batadv_tp_start()
965 if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { in batadv_tp_start()
966 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
967 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
970 bat_priv, session_cookie); in batadv_tp_start()
976 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
977 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
981 dst, bat_priv, session_cookie); in batadv_tp_start()
1020 tp_vars->bat_priv = bat_priv; in batadv_tp_start()
1034 hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); in batadv_tp_start()
1035 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
1041 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
1063 void batadv_tp_stop(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_stop() argument
1069 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_stop()
1072 orig_node = batadv_orig_hash_find(bat_priv, dst); in batadv_tp_stop()
1076 tp_vars = batadv_tp_list_find(bat_priv, orig_node->orig); in batadv_tp_stop()
1078 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_stop()
1110 struct batadv_priv *bat_priv; in batadv_tp_receiver_shutdown() local
1112 bat_priv = tp_vars->bat_priv; in batadv_tp_receiver_shutdown()
1122 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_receiver_shutdown()
1126 spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_receiver_shutdown()
1128 spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_receiver_shutdown()
1133 atomic_dec(&bat_priv->tp_num); in batadv_tp_receiver_shutdown()
1158 static int batadv_tp_send_ack(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_send_ack() argument
1168 orig_node = batadv_orig_hash_find(bat_priv, dst); in batadv_tp_send_ack()
1174 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_send_ack()
1335 batadv_tp_init_recv(struct batadv_priv *bat_priv, in batadv_tp_init_recv() argument
1340 spin_lock_bh(&bat_priv->tp_list_lock); in batadv_tp_init_recv()
1341 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_init_recv()
1346 if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { in batadv_tp_init_recv()
1347 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_init_recv()
1360 tp_vars->bat_priv = bat_priv; in batadv_tp_init_recv()
1367 hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); in batadv_tp_init_recv()
1375 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_init_recv()
1387 static void batadv_tp_recv_msg(struct batadv_priv *bat_priv, in batadv_tp_recv_msg() argument
1402 tp_vars = batadv_tp_init_recv(bat_priv, icmp); in batadv_tp_recv_msg()
1404 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1409 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_recv_msg()
1412 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1420 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1458 batadv_tp_send_ack(bat_priv, icmp->orig, tp_vars->last_recv, in batadv_tp_recv_msg()
1470 void batadv_tp_meter_recv(struct batadv_priv *bat_priv, struct sk_buff *skb) in batadv_tp_meter_recv() argument
1478 batadv_tp_recv_msg(bat_priv, skb); in batadv_tp_meter_recv()
1481 batadv_tp_recv_ack(bat_priv, skb); in batadv_tp_meter_recv()
1484 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_meter_recv()