tp_vars           142 net/batman-adv/tp_meter.c static void batadv_tp_update_cwnd(struct batadv_tp_vars *tp_vars, u32 mss)
tp_vars           144 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->cwnd_lock);
tp_vars           147 net/batman-adv/tp_meter.c 	if (tp_vars->cwnd <= tp_vars->ss_threshold) {
tp_vars           148 net/batman-adv/tp_meter.c 		tp_vars->dec_cwnd = 0;
tp_vars           149 net/batman-adv/tp_meter.c 		tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd, mss, mss);
tp_vars           150 net/batman-adv/tp_meter.c 		spin_unlock_bh(&tp_vars->cwnd_lock);
tp_vars           155 net/batman-adv/tp_meter.c 	tp_vars->dec_cwnd += max_t(u32, 1U << 3,
tp_vars           156 net/batman-adv/tp_meter.c 				   ((mss * mss) << 6) / (tp_vars->cwnd << 3));
tp_vars           157 net/batman-adv/tp_meter.c 	if (tp_vars->dec_cwnd < (mss << 3)) {
tp_vars           158 net/batman-adv/tp_meter.c 		spin_unlock_bh(&tp_vars->cwnd_lock);
tp_vars           162 net/batman-adv/tp_meter.c 	tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd, mss, mss);
tp_vars           163 net/batman-adv/tp_meter.c 	tp_vars->dec_cwnd = 0;
tp_vars           165 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->cwnd_lock);
tp_vars           173 net/batman-adv/tp_meter.c static void batadv_tp_update_rto(struct batadv_tp_vars *tp_vars,
tp_vars           184 net/batman-adv/tp_meter.c 	if (tp_vars->srtt != 0) {
tp_vars           185 net/batman-adv/tp_meter.c 		m -= (tp_vars->srtt >> 3); /* m is now error in rtt est */
tp_vars           186 net/batman-adv/tp_meter.c 		tp_vars->srtt += m; /* rtt = 7/8 srtt + 1/8 new */
tp_vars           190 net/batman-adv/tp_meter.c 		m -= (tp_vars->rttvar >> 2);
tp_vars           191 net/batman-adv/tp_meter.c 		tp_vars->rttvar += m; /* mdev ~= 3/4 rttvar + 1/4 new */
tp_vars           194 net/batman-adv/tp_meter.c 		tp_vars->srtt = m << 3;	/* take the measured time to be srtt */
tp_vars           195 net/batman-adv/tp_meter.c 		tp_vars->rttvar = m << 1; /* new_rtt / 2 */
tp_vars           201 net/batman-adv/tp_meter.c 	tp_vars->rto = (tp_vars->srtt >> 3) + tp_vars->rttvar;
tp_vars           264 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *pos, *tp_vars = NULL;
tp_vars           278 net/batman-adv/tp_meter.c 		tp_vars = pos;
tp_vars           283 net/batman-adv/tp_meter.c 	return tp_vars;
tp_vars           303 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *pos, *tp_vars = NULL;
tp_vars           320 net/batman-adv/tp_meter.c 		tp_vars = pos;
tp_vars           325 net/batman-adv/tp_meter.c 	return tp_vars;
tp_vars           335 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars           338 net/batman-adv/tp_meter.c 	tp_vars = container_of(ref, struct batadv_tp_vars, refcount);
tp_vars           343 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->unacked_lock);
tp_vars           344 net/batman-adv/tp_meter.c 	list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) {
tp_vars           348 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->unacked_lock);
tp_vars           350 net/batman-adv/tp_meter.c 	kfree_rcu(tp_vars, rcu);
tp_vars           358 net/batman-adv/tp_meter.c static void batadv_tp_vars_put(struct batadv_tp_vars *tp_vars)
tp_vars           360 net/batman-adv/tp_meter.c 	kref_put(&tp_vars->refcount, batadv_tp_vars_release);
tp_vars           369 net/batman-adv/tp_meter.c 				     struct batadv_tp_vars *tp_vars)
tp_vars           371 net/batman-adv/tp_meter.c 	cancel_delayed_work(&tp_vars->finish_work);
tp_vars           373 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->bat_priv->tp_list_lock);
tp_vars           374 net/batman-adv/tp_meter.c 	hlist_del_rcu(&tp_vars->list);
tp_vars           375 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock);
tp_vars           378 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars           380 net/batman-adv/tp_meter.c 	atomic_dec(&tp_vars->bat_priv->tp_num);
tp_vars           383 net/batman-adv/tp_meter.c 	del_timer_sync(&tp_vars->timer);
tp_vars           389 net/batman-adv/tp_meter.c 	del_timer(&tp_vars->timer);
tp_vars           390 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars           399 net/batman-adv/tp_meter.c 				 struct batadv_tp_vars *tp_vars)
tp_vars           405 net/batman-adv/tp_meter.c 		   tp_vars->other_end, tp_vars->reason);
tp_vars           409 net/batman-adv/tp_meter.c 		   tp_vars->srtt >> 3, tp_vars->rttvar >> 2, tp_vars->rto);
tp_vars           413 net/batman-adv/tp_meter.c 		   tp_vars->cwnd, tp_vars->ss_threshold);
tp_vars           415 net/batman-adv/tp_meter.c 	session_cookie = batadv_tp_session_cookie(tp_vars->session,
tp_vars           416 net/batman-adv/tp_meter.c 						  tp_vars->icmp_uid);
tp_vars           418 net/batman-adv/tp_meter.c 	batadv_tp_batctl_notify(tp_vars->reason,
tp_vars           419 net/batman-adv/tp_meter.c 				tp_vars->other_end,
tp_vars           421 net/batman-adv/tp_meter.c 				tp_vars->start_time,
tp_vars           422 net/batman-adv/tp_meter.c 				atomic64_read(&tp_vars->tot_sent),
tp_vars           431 net/batman-adv/tp_meter.c static void batadv_tp_sender_shutdown(struct batadv_tp_vars *tp_vars,
tp_vars           434 net/batman-adv/tp_meter.c 	if (!atomic_dec_and_test(&tp_vars->sending))
tp_vars           437 net/batman-adv/tp_meter.c 	tp_vars->reason = reason;
tp_vars           447 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars           450 net/batman-adv/tp_meter.c 	tp_vars = container_of(delayed_work, struct batadv_tp_vars,
tp_vars           453 net/batman-adv/tp_meter.c 	batadv_tp_sender_shutdown(tp_vars, BATADV_TP_REASON_COMPLETE);
tp_vars           462 net/batman-adv/tp_meter.c static void batadv_tp_reset_sender_timer(struct batadv_tp_vars *tp_vars)
tp_vars           467 net/batman-adv/tp_meter.c 	if (unlikely(atomic_read(&tp_vars->sending) == 0))
tp_vars           471 net/batman-adv/tp_meter.c 	mod_timer(&tp_vars->timer, jiffies + msecs_to_jiffies(tp_vars->rto));
tp_vars           484 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars = from_timer(tp_vars, t, timer);
tp_vars           485 net/batman-adv/tp_meter.c 	struct batadv_priv *bat_priv = tp_vars->bat_priv;
tp_vars           487 net/batman-adv/tp_meter.c 	if (atomic_read(&tp_vars->sending) == 0)
tp_vars           491 net/batman-adv/tp_meter.c 	if (unlikely(tp_vars->rto >= BATADV_TP_MAX_RTO)) {
tp_vars           492 net/batman-adv/tp_meter.c 		batadv_tp_sender_shutdown(tp_vars,
tp_vars           500 net/batman-adv/tp_meter.c 	tp_vars->rto <<= 1;
tp_vars           502 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->cwnd_lock);
tp_vars           504 net/batman-adv/tp_meter.c 	tp_vars->ss_threshold = tp_vars->cwnd >> 1;
tp_vars           505 net/batman-adv/tp_meter.c 	if (tp_vars->ss_threshold < BATADV_TP_PLEN * 2)
tp_vars           506 net/batman-adv/tp_meter.c 		tp_vars->ss_threshold = BATADV_TP_PLEN * 2;
tp_vars           510 net/batman-adv/tp_meter.c 		   tp_vars->other_end, tp_vars->cwnd, tp_vars->ss_threshold,
tp_vars           511 net/batman-adv/tp_meter.c 		   atomic_read(&tp_vars->last_acked));
tp_vars           513 net/batman-adv/tp_meter.c 	tp_vars->cwnd = BATADV_TP_PLEN * 3;
tp_vars           515 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->cwnd_lock);
tp_vars           518 net/batman-adv/tp_meter.c 	tp_vars->last_sent = atomic_read(&tp_vars->last_acked);
tp_vars           519 net/batman-adv/tp_meter.c 	wake_up(&tp_vars->more_bytes);
tp_vars           521 net/batman-adv/tp_meter.c 	batadv_tp_reset_sender_timer(tp_vars);
tp_vars           530 net/batman-adv/tp_meter.c static void batadv_tp_fill_prerandom(struct batadv_tp_vars *tp_vars,
tp_vars           538 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->prerandom_lock);
tp_vars           539 net/batman-adv/tp_meter.c 	local_offset = tp_vars->prerandom_offset;
tp_vars           540 net/batman-adv/tp_meter.c 	tp_vars->prerandom_offset += nbytes;
tp_vars           541 net/batman-adv/tp_meter.c 	tp_vars->prerandom_offset %= sizeof(batadv_tp_prerandom);
tp_vars           542 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->prerandom_lock);
tp_vars           573 net/batman-adv/tp_meter.c static int batadv_tp_send_msg(struct batadv_tp_vars *tp_vars, const u8 *src,
tp_vars           607 net/batman-adv/tp_meter.c 	batadv_tp_fill_prerandom(tp_vars, data, data_len);
tp_vars           629 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars           641 net/batman-adv/tp_meter.c 	tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig,
tp_vars           643 net/batman-adv/tp_meter.c 	if (unlikely(!tp_vars))
tp_vars           646 net/batman-adv/tp_meter.c 	if (unlikely(atomic_read(&tp_vars->sending) == 0))
tp_vars           651 net/batman-adv/tp_meter.c 			      (u32)atomic_read(&tp_vars->last_acked)))
tp_vars           665 net/batman-adv/tp_meter.c 		batadv_tp_update_rto(tp_vars, rtt);
tp_vars           668 net/batman-adv/tp_meter.c 	batadv_tp_reset_sender_timer(tp_vars);
tp_vars           673 net/batman-adv/tp_meter.c 	if (atomic_read(&tp_vars->last_acked) == recv_ack) {
tp_vars           674 net/batman-adv/tp_meter.c 		atomic_inc(&tp_vars->dup_acks);
tp_vars           675 net/batman-adv/tp_meter.c 		if (atomic_read(&tp_vars->dup_acks) != 3)
tp_vars           678 net/batman-adv/tp_meter.c 		if (recv_ack >= tp_vars->recover)
tp_vars           682 net/batman-adv/tp_meter.c 		batadv_tp_send_msg(tp_vars, primary_if->net_dev->dev_addr,
tp_vars           687 net/batman-adv/tp_meter.c 		spin_lock_bh(&tp_vars->cwnd_lock);
tp_vars           690 net/batman-adv/tp_meter.c 		tp_vars->fast_recovery = true;
tp_vars           694 net/batman-adv/tp_meter.c 		tp_vars->recover = tp_vars->last_sent;
tp_vars           695 net/batman-adv/tp_meter.c 		tp_vars->ss_threshold = tp_vars->cwnd >> 1;
tp_vars           698 net/batman-adv/tp_meter.c 			   tp_vars->cwnd, tp_vars->ss_threshold,
tp_vars           699 net/batman-adv/tp_meter.c 			   tp_vars->last_sent, recv_ack);
tp_vars           700 net/batman-adv/tp_meter.c 		tp_vars->cwnd = batadv_tp_cwnd(tp_vars->ss_threshold, 3 * mss,
tp_vars           702 net/batman-adv/tp_meter.c 		tp_vars->dec_cwnd = 0;
tp_vars           703 net/batman-adv/tp_meter.c 		tp_vars->last_sent = recv_ack;
tp_vars           705 net/batman-adv/tp_meter.c 		spin_unlock_bh(&tp_vars->cwnd_lock);
tp_vars           708 net/batman-adv/tp_meter.c 		atomic64_add(recv_ack - atomic_read(&tp_vars->last_acked),
tp_vars           709 net/batman-adv/tp_meter.c 			     &tp_vars->tot_sent);
tp_vars           711 net/batman-adv/tp_meter.c 		atomic_set(&tp_vars->dup_acks, 0);
tp_vars           713 net/batman-adv/tp_meter.c 		if (tp_vars->fast_recovery) {
tp_vars           715 net/batman-adv/tp_meter.c 			if (batadv_seq_before(recv_ack, tp_vars->recover)) {
tp_vars           721 net/batman-adv/tp_meter.c 				batadv_tp_send_msg(tp_vars, dev_addr,
tp_vars           726 net/batman-adv/tp_meter.c 				tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd,
tp_vars           729 net/batman-adv/tp_meter.c 				tp_vars->fast_recovery = false;
tp_vars           734 net/batman-adv/tp_meter.c 				cwnd = batadv_tp_cwnd(tp_vars->ss_threshold, 0,
tp_vars           736 net/batman-adv/tp_meter.c 				tp_vars->cwnd = cwnd;
tp_vars           741 net/batman-adv/tp_meter.c 		if (recv_ack - atomic_read(&tp_vars->last_acked) >= mss)
tp_vars           742 net/batman-adv/tp_meter.c 			batadv_tp_update_cwnd(tp_vars, mss);
tp_vars           745 net/batman-adv/tp_meter.c 		atomic_set(&tp_vars->last_acked, recv_ack);
tp_vars           748 net/batman-adv/tp_meter.c 	wake_up(&tp_vars->more_bytes);
tp_vars           754 net/batman-adv/tp_meter.c 	if (likely(tp_vars))
tp_vars           755 net/batman-adv/tp_meter.c 		batadv_tp_vars_put(tp_vars);
tp_vars           765 net/batman-adv/tp_meter.c static bool batadv_tp_avail(struct batadv_tp_vars *tp_vars,
tp_vars           770 net/batman-adv/tp_meter.c 	win_limit = atomic_read(&tp_vars->last_acked) + tp_vars->cwnd;
tp_vars           771 net/batman-adv/tp_meter.c 	win_left = win_limit - tp_vars->last_sent;
tp_vars           787 net/batman-adv/tp_meter.c static int batadv_tp_wait_available(struct batadv_tp_vars *tp_vars, size_t plen)
tp_vars           791 net/batman-adv/tp_meter.c 	ret = wait_event_interruptible_timeout(tp_vars->more_bytes,
tp_vars           792 net/batman-adv/tp_meter.c 					       batadv_tp_avail(tp_vars, plen),
tp_vars           806 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars = arg;
tp_vars           807 net/batman-adv/tp_meter.c 	struct batadv_priv *bat_priv = tp_vars->bat_priv;
tp_vars           813 net/batman-adv/tp_meter.c 	if (unlikely(tp_vars->role != BATADV_TP_SENDER)) {
tp_vars           815 net/batman-adv/tp_meter.c 		tp_vars->reason = err;
tp_vars           819 net/batman-adv/tp_meter.c 	orig_node = batadv_orig_hash_find(bat_priv, tp_vars->other_end);
tp_vars           822 net/batman-adv/tp_meter.c 		tp_vars->reason = err;
tp_vars           829 net/batman-adv/tp_meter.c 		tp_vars->reason = err;
tp_vars           842 net/batman-adv/tp_meter.c 	batadv_tp_reset_sender_timer(tp_vars);
tp_vars           845 net/batman-adv/tp_meter.c 	queue_delayed_work(batadv_event_workqueue, &tp_vars->finish_work,
tp_vars           846 net/batman-adv/tp_meter.c 			   msecs_to_jiffies(tp_vars->test_length));
tp_vars           848 net/batman-adv/tp_meter.c 	while (atomic_read(&tp_vars->sending) != 0) {
tp_vars           849 net/batman-adv/tp_meter.c 		if (unlikely(!batadv_tp_avail(tp_vars, payload_len))) {
tp_vars           850 net/batman-adv/tp_meter.c 			batadv_tp_wait_available(tp_vars, payload_len);
tp_vars           859 net/batman-adv/tp_meter.c 		err = batadv_tp_send_msg(tp_vars, primary_if->net_dev->dev_addr,
tp_vars           860 net/batman-adv/tp_meter.c 					 orig_node, tp_vars->last_sent,
tp_vars           862 net/batman-adv/tp_meter.c 					 tp_vars->session, tp_vars->icmp_uid,
tp_vars           871 net/batman-adv/tp_meter.c 			if (atomic_dec_and_test(&tp_vars->sending))
tp_vars           872 net/batman-adv/tp_meter.c 				tp_vars->reason = err;
tp_vars           878 net/batman-adv/tp_meter.c 			tp_vars->last_sent += payload_len;
tp_vars           889 net/batman-adv/tp_meter.c 	batadv_tp_sender_end(bat_priv, tp_vars);
tp_vars           890 net/batman-adv/tp_meter.c 	batadv_tp_sender_cleanup(bat_priv, tp_vars);
tp_vars           892 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars           902 net/batman-adv/tp_meter.c static void batadv_tp_start_kthread(struct batadv_tp_vars *tp_vars)
tp_vars           905 net/batman-adv/tp_meter.c 	struct batadv_priv *bat_priv = tp_vars->bat_priv;
tp_vars           908 net/batman-adv/tp_meter.c 	kref_get(&tp_vars->refcount);
tp_vars           909 net/batman-adv/tp_meter.c 	kthread = kthread_create(batadv_tp_send, tp_vars, "kbatadv_tp_meter");
tp_vars           911 net/batman-adv/tp_meter.c 		session_cookie = batadv_tp_session_cookie(tp_vars->session,
tp_vars           912 net/batman-adv/tp_meter.c 							  tp_vars->icmp_uid);
tp_vars           915 net/batman-adv/tp_meter.c 					      tp_vars->other_end,
tp_vars           919 net/batman-adv/tp_meter.c 		batadv_tp_vars_put(tp_vars);
tp_vars           922 net/batman-adv/tp_meter.c 		batadv_tp_sender_cleanup(bat_priv, tp_vars);
tp_vars           939 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars           951 net/batman-adv/tp_meter.c 	tp_vars = batadv_tp_list_find(bat_priv, dst);
tp_vars           952 net/batman-adv/tp_meter.c 	if (tp_vars) {
tp_vars           954 net/batman-adv/tp_meter.c 		batadv_tp_vars_put(tp_vars);
tp_vars           971 net/batman-adv/tp_meter.c 	tp_vars = kmalloc(sizeof(*tp_vars), GFP_ATOMIC);
tp_vars           972 net/batman-adv/tp_meter.c 	if (!tp_vars) {
tp_vars           983 net/batman-adv/tp_meter.c 	ether_addr_copy(tp_vars->other_end, dst);
tp_vars           984 net/batman-adv/tp_meter.c 	kref_init(&tp_vars->refcount);
tp_vars           985 net/batman-adv/tp_meter.c 	tp_vars->role = BATADV_TP_SENDER;
tp_vars           986 net/batman-adv/tp_meter.c 	atomic_set(&tp_vars->sending, 1);
tp_vars           987 net/batman-adv/tp_meter.c 	memcpy(tp_vars->session, session_id, sizeof(session_id));
tp_vars           988 net/batman-adv/tp_meter.c 	tp_vars->icmp_uid = icmp_uid;
tp_vars           990 net/batman-adv/tp_meter.c 	tp_vars->last_sent = BATADV_TP_FIRST_SEQ;
tp_vars           991 net/batman-adv/tp_meter.c 	atomic_set(&tp_vars->last_acked, BATADV_TP_FIRST_SEQ);
tp_vars           992 net/batman-adv/tp_meter.c 	tp_vars->fast_recovery = false;
tp_vars           993 net/batman-adv/tp_meter.c 	tp_vars->recover = BATADV_TP_FIRST_SEQ;
tp_vars           999 net/batman-adv/tp_meter.c 	tp_vars->cwnd = BATADV_TP_PLEN * 3;
tp_vars          1003 net/batman-adv/tp_meter.c 	tp_vars->ss_threshold = BATADV_TP_AWND;
tp_vars          1008 net/batman-adv/tp_meter.c 	tp_vars->rto = 1000;
tp_vars          1009 net/batman-adv/tp_meter.c 	tp_vars->srtt = 0;
tp_vars          1010 net/batman-adv/tp_meter.c 	tp_vars->rttvar = 0;
tp_vars          1012 net/batman-adv/tp_meter.c 	atomic64_set(&tp_vars->tot_sent, 0);
tp_vars          1014 net/batman-adv/tp_meter.c 	kref_get(&tp_vars->refcount);
tp_vars          1015 net/batman-adv/tp_meter.c 	timer_setup(&tp_vars->timer, batadv_tp_sender_timeout, 0);
tp_vars          1017 net/batman-adv/tp_meter.c 	tp_vars->bat_priv = bat_priv;
tp_vars          1018 net/batman-adv/tp_meter.c 	tp_vars->start_time = jiffies;
tp_vars          1020 net/batman-adv/tp_meter.c 	init_waitqueue_head(&tp_vars->more_bytes);
tp_vars          1022 net/batman-adv/tp_meter.c 	spin_lock_init(&tp_vars->unacked_lock);
tp_vars          1023 net/batman-adv/tp_meter.c 	INIT_LIST_HEAD(&tp_vars->unacked_list);
tp_vars          1025 net/batman-adv/tp_meter.c 	spin_lock_init(&tp_vars->cwnd_lock);
tp_vars          1027 net/batman-adv/tp_meter.c 	tp_vars->prerandom_offset = 0;
tp_vars          1028 net/batman-adv/tp_meter.c 	spin_lock_init(&tp_vars->prerandom_lock);
tp_vars          1030 net/batman-adv/tp_meter.c 	kref_get(&tp_vars->refcount);
tp_vars          1031 net/batman-adv/tp_meter.c 	hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list);
tp_vars          1034 net/batman-adv/tp_meter.c 	tp_vars->test_length = test_length;
tp_vars          1035 net/batman-adv/tp_meter.c 	if (!tp_vars->test_length)
tp_vars          1036 net/batman-adv/tp_meter.c 		tp_vars->test_length = BATADV_TP_DEF_TEST_LENGTH;
tp_vars          1043 net/batman-adv/tp_meter.c 	INIT_DELAYED_WORK(&tp_vars->finish_work, batadv_tp_sender_finish);
tp_vars          1048 net/batman-adv/tp_meter.c 	batadv_tp_start_kthread(tp_vars);
tp_vars          1051 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars          1064 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars          1073 net/batman-adv/tp_meter.c 	tp_vars = batadv_tp_list_find(bat_priv, orig_node->orig);
tp_vars          1074 net/batman-adv/tp_meter.c 	if (!tp_vars) {
tp_vars          1080 net/batman-adv/tp_meter.c 	batadv_tp_sender_shutdown(tp_vars, return_value);
tp_vars          1081 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars          1092 net/batman-adv/tp_meter.c static void batadv_tp_reset_receiver_timer(struct batadv_tp_vars *tp_vars)
tp_vars          1094 net/batman-adv/tp_meter.c 	mod_timer(&tp_vars->timer,
tp_vars          1105 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars = from_timer(tp_vars, t, timer);
tp_vars          1109 net/batman-adv/tp_meter.c 	bat_priv = tp_vars->bat_priv;
tp_vars          1112 net/batman-adv/tp_meter.c 	if (!batadv_has_timed_out(tp_vars->last_recv_time,
tp_vars          1115 net/batman-adv/tp_meter.c 		batadv_tp_reset_receiver_timer(tp_vars);
tp_vars          1121 net/batman-adv/tp_meter.c 		   BATADV_TP_RECV_TIMEOUT, tp_vars->other_end);
tp_vars          1123 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->bat_priv->tp_list_lock);
tp_vars          1124 net/batman-adv/tp_meter.c 	hlist_del_rcu(&tp_vars->list);
tp_vars          1125 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock);
tp_vars          1128 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars          1132 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->unacked_lock);
tp_vars          1133 net/batman-adv/tp_meter.c 	list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) {
tp_vars          1137 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->unacked_lock);
tp_vars          1140 net/batman-adv/tp_meter.c 	batadv_tp_vars_put(tp_vars);
tp_vars          1226 net/batman-adv/tp_meter.c static bool batadv_tp_handle_out_of_order(struct batadv_tp_vars *tp_vars,
tp_vars          1244 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->unacked_lock);
tp_vars          1246 net/batman-adv/tp_meter.c 	if (list_empty(&tp_vars->unacked_list)) {
tp_vars          1247 net/batman-adv/tp_meter.c 		list_add(&new->list, &tp_vars->unacked_list);
tp_vars          1258 net/batman-adv/tp_meter.c 	list_for_each_entry_reverse(un, &tp_vars->unacked_list, list) {
tp_vars          1283 net/batman-adv/tp_meter.c 		list_add(&new->list, &tp_vars->unacked_list);
tp_vars          1286 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->unacked_lock);
tp_vars          1296 net/batman-adv/tp_meter.c static void batadv_tp_ack_unordered(struct batadv_tp_vars *tp_vars)
tp_vars          1304 net/batman-adv/tp_meter.c 	spin_lock_bh(&tp_vars->unacked_lock);
tp_vars          1305 net/batman-adv/tp_meter.c 	list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) {
tp_vars          1310 net/batman-adv/tp_meter.c 		if (batadv_seq_before(tp_vars->last_recv, un->seqno))
tp_vars          1313 net/batman-adv/tp_meter.c 		to_ack = un->seqno + un->len - tp_vars->last_recv;
tp_vars          1315 net/batman-adv/tp_meter.c 		if (batadv_seq_before(tp_vars->last_recv, un->seqno + un->len))
tp_vars          1316 net/batman-adv/tp_meter.c 			tp_vars->last_recv += to_ack;
tp_vars          1321 net/batman-adv/tp_meter.c 	spin_unlock_bh(&tp_vars->unacked_lock);
tp_vars          1335 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars          1338 net/batman-adv/tp_meter.c 	tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig,
tp_vars          1340 net/batman-adv/tp_meter.c 	if (tp_vars)
tp_vars          1349 net/batman-adv/tp_meter.c 	tp_vars = kmalloc(sizeof(*tp_vars), GFP_ATOMIC);
tp_vars          1350 net/batman-adv/tp_meter.c 	if (!tp_vars)
tp_vars          1353 net/batman-adv/tp_meter.c 	ether_addr_copy(tp_vars->other_end, icmp->orig);
tp_vars          1354 net/batman-adv/tp_meter.c 	tp_vars->role = BATADV_TP_RECEIVER;
tp_vars          1355 net/batman-adv/tp_meter.c 	memcpy(tp_vars->session, icmp->session, sizeof(tp_vars->session));
tp_vars          1356 net/batman-adv/tp_meter.c 	tp_vars->last_recv = BATADV_TP_FIRST_SEQ;
tp_vars          1357 net/batman-adv/tp_meter.c 	tp_vars->bat_priv = bat_priv;
tp_vars          1358 net/batman-adv/tp_meter.c 	kref_init(&tp_vars->refcount);
tp_vars          1360 net/batman-adv/tp_meter.c 	spin_lock_init(&tp_vars->unacked_lock);
tp_vars          1361 net/batman-adv/tp_meter.c 	INIT_LIST_HEAD(&tp_vars->unacked_list);
tp_vars          1363 net/batman-adv/tp_meter.c 	kref_get(&tp_vars->refcount);
tp_vars          1364 net/batman-adv/tp_meter.c 	hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list);
tp_vars          1366 net/batman-adv/tp_meter.c 	kref_get(&tp_vars->refcount);
tp_vars          1367 net/batman-adv/tp_meter.c 	timer_setup(&tp_vars->timer, batadv_tp_receiver_shutdown, 0);
tp_vars          1369 net/batman-adv/tp_meter.c 	batadv_tp_reset_receiver_timer(tp_vars);
tp_vars          1374 net/batman-adv/tp_meter.c 	return tp_vars;
tp_vars          1388 net/batman-adv/tp_meter.c 	struct batadv_tp_vars *tp_vars;
tp_vars          1399 net/batman-adv/tp_meter.c 		tp_vars = batadv_tp_init_recv(bat_priv, icmp);
tp_vars          1400 net/batman-adv/tp_meter.c 		if (!tp_vars) {
tp_vars          1406 net/batman-adv/tp_meter.c 		tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig,
tp_vars          1408 net/batman-adv/tp_meter.c 		if (!tp_vars) {
tp_vars          1416 net/batman-adv/tp_meter.c 	if (unlikely(tp_vars->role != BATADV_TP_RECEIVER)) {
tp_vars          1419 net/batman-adv/tp_meter.c 			   tp_vars->role);
tp_vars          1423 net/batman-adv/tp_meter.c 	tp_vars->last_recv_time = jiffies;
tp_vars          1428 net/batman-adv/tp_meter.c 	if (batadv_seq_before(seqno, tp_vars->last_recv))
tp_vars          1432 net/batman-adv/tp_meter.c 	if (ntohl(icmp->seqno) != tp_vars->last_recv) {
tp_vars          1436 net/batman-adv/tp_meter.c 		if (!batadv_tp_handle_out_of_order(tp_vars, skb))
tp_vars          1445 net/batman-adv/tp_meter.c 	tp_vars->last_recv += packet_size;
tp_vars          1448 net/batman-adv/tp_meter.c 	batadv_tp_ack_unordered(tp_vars);
tp_vars          1455 net/batman-adv/tp_meter.c 	batadv_tp_send_ack(bat_priv, icmp->orig, tp_vars->last_recv,
tp_vars          1458 net/batman-adv/tp_meter.c 	if (likely(tp_vars))
tp_vars          1459 net/batman-adv/tp_meter.c 		batadv_tp_vars_put(tp_vars);