Lines Matching refs:bat_priv

141 batadv_iv_ogm_orig_get(struct batadv_priv *bat_priv, const u8 *addr)  in batadv_iv_ogm_orig_get()  argument
146 orig_node = batadv_orig_hash_find(bat_priv, addr); in batadv_iv_ogm_orig_get()
150 orig_node = batadv_orig_node_new(bat_priv, addr); in batadv_iv_ogm_orig_get()
157 hash_added = batadv_hash_add(bat_priv->orig_hash, batadv_compare_orig, in batadv_iv_ogm_orig_get()
279 batadv_iv_ogm_emit_send_time(const struct batadv_priv *bat_priv) in batadv_iv_ogm_emit_send_time() argument
283 msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; in batadv_iv_ogm_emit_send_time()
296 static u8 batadv_hop_penalty(u8 tq, const struct batadv_priv *bat_priv) in batadv_hop_penalty() argument
298 int hop_penalty = atomic_read(&bat_priv->hop_penalty); in batadv_hop_penalty()
337 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_send_to_if() local
370 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_send_to_if()
391 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_TX); in batadv_iv_ogm_send_to_if()
392 batadv_add_counter(bat_priv, BATADV_CNT_MGMT_TX_BYTES, in batadv_iv_ogm_send_to_if()
441 struct batadv_priv *bat_priv, in batadv_iv_ogm_can_aggregate() argument
484 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_iv_ogm_can_aggregate()
546 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_aggregate_new() local
551 atomic_t *queue_left = own_packet ? NULL : &bat_priv->batman_queue_left; in batadv_iv_ogm_aggregate_new()
553 if (atomic_read(&bat_priv->aggregated_ogms) && in batadv_iv_ogm_aggregate_new()
566 queue_left, bat_priv, skb); in batadv_iv_ogm_aggregate_new()
590 batadv_forw_packet_ogmv1_queue(bat_priv, forw_packet_aggr, send_time); in batadv_iv_ogm_aggregate_new()
621 static void batadv_iv_ogm_queue_add(struct batadv_priv *bat_priv, in batadv_iv_ogm_queue_add() argument
642 spin_lock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
644 if (atomic_read(&bat_priv->aggregated_ogms) && !own_packet) { in batadv_iv_ogm_queue_add()
646 &bat_priv->forw_bat_list, list) { in batadv_iv_ogm_queue_add()
648 bat_priv, packet_len, in batadv_iv_ogm_queue_add()
664 spin_unlock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
670 if (!own_packet && atomic_read(&bat_priv->aggregated_ogms)) in batadv_iv_ogm_queue_add()
680 spin_unlock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
692 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_forward() local
696 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, "ttl exceeded\n"); in batadv_iv_ogm_forward()
720 bat_priv); in batadv_iv_ogm_forward()
722 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_forward()
731 batadv_iv_ogm_queue_add(bat_priv, (unsigned char *)batadv_ogm_packet, in batadv_iv_ogm_forward()
745 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_slide_own_bcast_window() local
746 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_iv_ogm_slide_own_bcast_window()
767 batadv_bit_get_packet(bat_priv, word, 1, 0); in batadv_iv_ogm_slide_own_bcast_window()
784 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_schedule_buff() local
808 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_iv_ogm_schedule_buff()
814 batadv_tt_local_commit_changes(bat_priv); in batadv_iv_ogm_schedule_buff()
815 tvlv_len = batadv_tvlv_container_ogm_append(bat_priv, ogm_buff, in batadv_iv_ogm_schedule_buff()
830 send_time = batadv_iv_ogm_emit_send_time(bat_priv); in batadv_iv_ogm_schedule_buff()
836 batadv_iv_ogm_queue_add(bat_priv, *ogm_buff, *ogm_buff_len, in batadv_iv_ogm_schedule_buff()
852 batadv_iv_ogm_queue_add(bat_priv, *ogm_buff, in batadv_iv_ogm_schedule_buff()
918 batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_update() argument
936 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_orig_update()
976 orig_tmp = batadv_iv_ogm_orig_get(bat_priv, ethhdr->h_source); in batadv_iv_ogm_orig_update()
988 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_orig_update()
1044 batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node); in batadv_iv_ogm_orig_update()
1076 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_calc_tq() local
1172 bat_priv); in batadv_iv_ogm_calc_tq()
1183 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_calc_tq()
1219 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_update_seqnos() local
1234 orig_node = batadv_iv_ogm_orig_get(bat_priv, batadv_ogm_packet->orig); in batadv_iv_ogm_update_seqnos()
1249 batadv_window_protected(bat_priv, seq_diff, in batadv_iv_ogm_update_seqnos()
1281 need_update |= batadv_bit_get_packet(bat_priv, bitmap, in batadv_iv_ogm_update_seqnos()
1292 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_update_seqnos()
1321 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_process_per_outif() local
1355 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1362 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1391 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1398 batadv_tvlv_ogm_receive(bat_priv, ogm_packet, orig_node); in batadv_iv_ogm_process_per_outif()
1406 orig_neigh_node = batadv_iv_ogm_orig_get(bat_priv, in batadv_iv_ogm_process_per_outif()
1413 batadv_nc_update_nc_node(bat_priv, orig_node, orig_neigh_node, in batadv_iv_ogm_process_per_outif()
1423 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1444 batadv_iv_ogm_orig_update(bat_priv, orig_node, in batadv_iv_ogm_process_per_outif()
1462 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1472 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1479 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1485 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1490 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1566 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_process() local
1603 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1634 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1641 orig_neigh_node = batadv_iv_ogm_orig_get(bat_priv, in batadv_iv_ogm_process()
1649 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1656 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1663 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1669 orig_node = batadv_iv_ogm_orig_get(bat_priv, ogm_packet->orig); in batadv_iv_ogm_process()
1681 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_iv_ogm_process()
1701 struct batadv_priv *bat_priv; in batadv_iv_send_outstanding_bat_ogm_packet() local
1707 bat_priv = netdev_priv(forw_packet->if_incoming->soft_iface); in batadv_iv_send_outstanding_bat_ogm_packet()
1709 if (atomic_read(&bat_priv->mesh_state) == BATADV_MESH_DEACTIVATING) { in batadv_iv_send_outstanding_bat_ogm_packet()
1731 &bat_priv->forw_bat_list_lock)) in batadv_iv_send_outstanding_bat_ogm_packet()
1738 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_receive() local
1752 if (bat_priv->algo_ops->iface.enable != batadv_iv_ogm_iface_enable) in batadv_iv_ogm_receive()
1755 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_RX); in batadv_iv_ogm_receive()
1756 batadv_add_counter(bat_priv, BATADV_CNT_MGMT_RX_BYTES, in batadv_iv_ogm_receive()
1821 static void batadv_iv_ogm_orig_print(struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_print() argument
1826 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_iv_ogm_orig_print()
1927 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_subentry() argument
1989 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_entry() argument
2017 bat_priv, if_outgoing, in batadv_iv_ogm_orig_dump_entry()
2051 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_bucket() argument
2063 if (batadv_iv_ogm_orig_dump_entry(msg, portid, seq, bat_priv, in batadv_iv_ogm_orig_dump_bucket()
2087 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump() argument
2090 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_iv_ogm_orig_dump()
2102 bat_priv, if_outgoing, head, in batadv_iv_ogm_orig_dump()
2139 static void batadv_iv_neigh_print(struct batadv_priv *bat_priv, in batadv_iv_neigh_print() argument
2267 struct batadv_priv *bat_priv, in batadv_iv_ogm_neigh_dump_hardif() argument
2299 struct batadv_priv *bat_priv, in batadv_iv_ogm_neigh_dump() argument
2313 bat_priv, in batadv_iv_ogm_neigh_dump()
2321 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_iv_ogm_neigh_dump()
2329 bat_priv, in batadv_iv_ogm_neigh_dump()
2407 static void batadv_iv_init_sel_class(struct batadv_priv *bat_priv) in batadv_iv_init_sel_class() argument
2410 atomic_set(&bat_priv->gw.sel_class, 20); in batadv_iv_init_sel_class()
2414 batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv) in batadv_iv_gw_get_best_gw_node() argument
2426 hlist_for_each_entry_rcu(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_iv_gw_get_best_gw_node()
2442 switch (atomic_read(&bat_priv->gw.sel_class)) { in batadv_iv_gw_get_best_gw_node()
2493 static bool batadv_iv_gw_is_eligible(struct batadv_priv *bat_priv, in batadv_iv_gw_is_eligible() argument
2505 if (atomic_read(&bat_priv->gw.sel_class) <= 2) in batadv_iv_gw_is_eligible()
2540 if ((atomic_read(&bat_priv->gw.sel_class) > 3) && in batadv_iv_gw_is_eligible()
2541 (orig_tq_avg - gw_tq_avg < atomic_read(&bat_priv->gw.sel_class))) in batadv_iv_gw_is_eligible()
2544 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_gw_is_eligible()
2564 static int batadv_iv_gw_write_buffer_text(struct batadv_priv *bat_priv, in batadv_iv_gw_write_buffer_text() argument
2581 curr_gw = batadv_gw_get_selected_gw_node(bat_priv); in batadv_iv_gw_write_buffer_text()
2604 static void batadv_iv_gw_print(struct batadv_priv *bat_priv, in batadv_iv_gw_print() argument
2614 hlist_for_each_entry_rcu(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_iv_gw_print()
2616 if (batadv_iv_gw_write_buffer_text(bat_priv, seq, gw_node) < 0) in batadv_iv_gw_print()
2640 struct batadv_priv *bat_priv, in batadv_iv_gw_dump_entry() argument
2657 curr_gw = batadv_gw_get_selected_gw_node(bat_priv); in batadv_iv_gw_dump_entry()
2712 struct batadv_priv *bat_priv) in batadv_iv_gw_dump() argument
2719 spin_lock_bh(&bat_priv->gw.list_lock); in batadv_iv_gw_dump()
2720 cb->seq = bat_priv->gw.generation << 1 | 1; in batadv_iv_gw_dump()
2722 hlist_for_each_entry(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_iv_gw_dump()
2726 if (batadv_iv_gw_dump_entry(msg, portid, cb, bat_priv, in batadv_iv_gw_dump()
2735 spin_unlock_bh(&bat_priv->gw.list_lock); in batadv_iv_gw_dump()