Lines Matching refs:bat_priv
225 const u8 *dst, struct batadv_priv *bat_priv, in batadv_tp_batctl_notify() argument
243 batadv_netlink_tpmeter_notify(bat_priv, dst, result, test_time, in batadv_tp_batctl_notify()
256 struct batadv_priv *bat_priv, in batadv_tp_batctl_error_notify() argument
259 batadv_tp_batctl_notify(reason, dst, bat_priv, 0, 0, cookie); in batadv_tp_batctl_error_notify()
272 static struct batadv_tp_vars *batadv_tp_list_find(struct batadv_priv *bat_priv, in batadv_tp_list_find() argument
278 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find()
311 batadv_tp_list_find_session(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_list_find_session() argument
317 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find_session()
379 static void batadv_tp_sender_cleanup(struct batadv_priv *bat_priv, in batadv_tp_sender_cleanup() argument
384 spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_sender_cleanup()
386 spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_sender_cleanup()
391 atomic_dec(&tp_vars->bat_priv->tp_num); in batadv_tp_sender_cleanup()
409 static void batadv_tp_sender_end(struct batadv_priv *bat_priv, in batadv_tp_sender_end() argument
414 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
418 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
422 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_end()
431 bat_priv, in batadv_tp_sender_end()
496 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_sender_timeout() local
519 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_sender_timeout()
634 static void batadv_tp_recv_ack(struct batadv_priv *bat_priv, in batadv_tp_recv_ack() argument
652 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_recv_ack()
665 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_recv_ack()
669 orig_node = batadv_orig_hash_find(bat_priv, icmp->orig); in batadv_tp_recv_ack()
707 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_ack()
818 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_send() local
830 orig_node = batadv_orig_hash_find(bat_priv, tp_vars->other_end); in batadv_tp_send()
837 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_send()
878 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_send()
900 batadv_tp_sender_end(bat_priv, tp_vars); in batadv_tp_send()
901 batadv_tp_sender_cleanup(bat_priv, tp_vars); in batadv_tp_send()
916 struct batadv_priv *bat_priv = tp_vars->bat_priv; in batadv_tp_start_kthread() local
927 bat_priv, session_cookie); in batadv_tp_start_kthread()
933 batadv_tp_sender_cleanup(bat_priv, tp_vars); in batadv_tp_start_kthread()
947 void batadv_tp_start(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_start() argument
961 spin_lock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
962 tp_vars = batadv_tp_list_find(bat_priv, dst); in batadv_tp_start()
964 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
966 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
969 dst, bat_priv, session_cookie); in batadv_tp_start()
973 if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { in batadv_tp_start()
974 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
975 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
978 bat_priv, session_cookie); in batadv_tp_start()
984 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
985 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
989 dst, bat_priv, session_cookie); in batadv_tp_start()
1028 tp_vars->bat_priv = bat_priv; in batadv_tp_start()
1042 hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); in batadv_tp_start()
1043 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_start()
1049 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_start()
1071 void batadv_tp_stop(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_stop() argument
1077 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_stop()
1080 orig_node = batadv_orig_hash_find(bat_priv, dst); in batadv_tp_stop()
1084 tp_vars = batadv_tp_list_find(bat_priv, orig_node->orig); in batadv_tp_stop()
1086 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_stop()
1118 struct batadv_priv *bat_priv; in batadv_tp_receiver_shutdown() local
1120 bat_priv = tp_vars->bat_priv; in batadv_tp_receiver_shutdown()
1130 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_receiver_shutdown()
1134 spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_receiver_shutdown()
1136 spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_receiver_shutdown()
1141 atomic_dec(&bat_priv->tp_num); in batadv_tp_receiver_shutdown()
1166 static int batadv_tp_send_ack(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_send_ack() argument
1176 orig_node = batadv_orig_hash_find(bat_priv, dst); in batadv_tp_send_ack()
1182 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_tp_send_ack()
1343 batadv_tp_init_recv(struct batadv_priv *bat_priv, in batadv_tp_init_recv() argument
1348 spin_lock_bh(&bat_priv->tp_list_lock); in batadv_tp_init_recv()
1349 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_init_recv()
1354 if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { in batadv_tp_init_recv()
1355 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_init_recv()
1368 tp_vars->bat_priv = bat_priv; in batadv_tp_init_recv()
1375 hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); in batadv_tp_init_recv()
1383 spin_unlock_bh(&bat_priv->tp_list_lock); in batadv_tp_init_recv()
1395 static void batadv_tp_recv_msg(struct batadv_priv *bat_priv, in batadv_tp_recv_msg() argument
1410 tp_vars = batadv_tp_init_recv(bat_priv, icmp); in batadv_tp_recv_msg()
1412 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1417 tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, in batadv_tp_recv_msg()
1420 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1428 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_recv_msg()
1466 batadv_tp_send_ack(bat_priv, icmp->orig, tp_vars->last_recv, in batadv_tp_recv_msg()
1478 void batadv_tp_meter_recv(struct batadv_priv *bat_priv, struct sk_buff *skb) in batadv_tp_meter_recv() argument
1486 batadv_tp_recv_msg(bat_priv, skb); in batadv_tp_meter_recv()
1489 batadv_tp_recv_ack(bat_priv, skb); in batadv_tp_meter_recv()
1492 batadv_dbg(BATADV_DBG_TP_METER, bat_priv, in batadv_tp_meter_recv()