Lines Matching refs:bat_priv

139 batadv_iv_ogm_orig_get(struct batadv_priv *bat_priv, const u8 *addr)  in batadv_iv_ogm_orig_get()  argument
144 orig_node = batadv_orig_hash_find(bat_priv, addr); in batadv_iv_ogm_orig_get()
148 orig_node = batadv_orig_node_new(bat_priv, addr); in batadv_iv_ogm_orig_get()
155 hash_added = batadv_hash_add(bat_priv->orig_hash, batadv_compare_orig, in batadv_iv_ogm_orig_get()
277 batadv_iv_ogm_emit_send_time(const struct batadv_priv *bat_priv) in batadv_iv_ogm_emit_send_time() argument
281 msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; in batadv_iv_ogm_emit_send_time()
294 static u8 batadv_hop_penalty(u8 tq, const struct batadv_priv *bat_priv) in batadv_hop_penalty() argument
296 int hop_penalty = atomic_read(&bat_priv->hop_penalty); in batadv_hop_penalty()
335 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_send_to_if() local
368 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_send_to_if()
389 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_TX); in batadv_iv_ogm_send_to_if()
390 batadv_add_counter(bat_priv, BATADV_CNT_MGMT_TX_BYTES, in batadv_iv_ogm_send_to_if()
439 struct batadv_priv *bat_priv, in batadv_iv_ogm_can_aggregate() argument
482 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_iv_ogm_can_aggregate()
543 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_aggregate_new() local
548 atomic_t *queue_left = own_packet ? NULL : &bat_priv->batman_queue_left; in batadv_iv_ogm_aggregate_new()
550 if (atomic_read(&bat_priv->aggregated_ogms) && in batadv_iv_ogm_aggregate_new()
563 queue_left, bat_priv, skb); in batadv_iv_ogm_aggregate_new()
587 batadv_forw_packet_ogmv1_queue(bat_priv, forw_packet_aggr, send_time); in batadv_iv_ogm_aggregate_new()
618 static void batadv_iv_ogm_queue_add(struct batadv_priv *bat_priv, in batadv_iv_ogm_queue_add() argument
639 spin_lock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
641 if (atomic_read(&bat_priv->aggregated_ogms) && !own_packet) { in batadv_iv_ogm_queue_add()
643 &bat_priv->forw_bat_list, list) { in batadv_iv_ogm_queue_add()
645 bat_priv, packet_len, in batadv_iv_ogm_queue_add()
661 spin_unlock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
667 if (!own_packet && atomic_read(&bat_priv->aggregated_ogms)) in batadv_iv_ogm_queue_add()
677 spin_unlock_bh(&bat_priv->forw_bat_list_lock); in batadv_iv_ogm_queue_add()
689 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_forward() local
693 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, "ttl exceeded\n"); in batadv_iv_ogm_forward()
717 bat_priv); in batadv_iv_ogm_forward()
719 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_forward()
728 batadv_iv_ogm_queue_add(bat_priv, (unsigned char *)batadv_ogm_packet, in batadv_iv_ogm_forward()
742 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_slide_own_bcast_window() local
743 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_iv_ogm_slide_own_bcast_window()
764 batadv_bit_get_packet(bat_priv, word, 1, 0); in batadv_iv_ogm_slide_own_bcast_window()
781 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_schedule_buff() local
805 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_iv_ogm_schedule_buff()
811 batadv_tt_local_commit_changes(bat_priv); in batadv_iv_ogm_schedule_buff()
812 tvlv_len = batadv_tvlv_container_ogm_append(bat_priv, ogm_buff, in batadv_iv_ogm_schedule_buff()
827 send_time = batadv_iv_ogm_emit_send_time(bat_priv); in batadv_iv_ogm_schedule_buff()
833 batadv_iv_ogm_queue_add(bat_priv, *ogm_buff, *ogm_buff_len, in batadv_iv_ogm_schedule_buff()
849 batadv_iv_ogm_queue_add(bat_priv, *ogm_buff, in batadv_iv_ogm_schedule_buff()
914 batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_update() argument
932 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_orig_update()
972 orig_tmp = batadv_iv_ogm_orig_get(bat_priv, ethhdr->h_source); in batadv_iv_ogm_orig_update()
984 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_orig_update()
1040 batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node); in batadv_iv_ogm_orig_update()
1068 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_calc_tq() local
1164 bat_priv); in batadv_iv_ogm_calc_tq()
1175 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_calc_tq()
1210 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_update_seqnos() local
1225 orig_node = batadv_iv_ogm_orig_get(bat_priv, batadv_ogm_packet->orig); in batadv_iv_ogm_update_seqnos()
1240 batadv_window_protected(bat_priv, seq_diff, in batadv_iv_ogm_update_seqnos()
1272 need_update |= batadv_bit_get_packet(bat_priv, bitmap, in batadv_iv_ogm_update_seqnos()
1283 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_update_seqnos()
1312 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_process_per_outif() local
1346 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1353 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1382 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1389 batadv_tvlv_ogm_receive(bat_priv, ogm_packet, orig_node); in batadv_iv_ogm_process_per_outif()
1397 orig_neigh_node = batadv_iv_ogm_orig_get(bat_priv, in batadv_iv_ogm_process_per_outif()
1404 batadv_nc_update_nc_node(bat_priv, orig_node, orig_neigh_node, in batadv_iv_ogm_process_per_outif()
1414 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1435 batadv_iv_ogm_orig_update(bat_priv, orig_node, in batadv_iv_ogm_process_per_outif()
1453 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1463 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1470 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1476 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1481 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process_per_outif()
1552 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_process() local
1589 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1620 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1627 orig_neigh_node = batadv_iv_ogm_orig_get(bat_priv, in batadv_iv_ogm_process()
1635 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1642 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1649 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_process()
1655 orig_node = batadv_iv_ogm_orig_get(bat_priv, ogm_packet->orig); in batadv_iv_ogm_process()
1667 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_iv_ogm_process()
1687 struct batadv_priv *bat_priv; in batadv_iv_send_outstanding_bat_ogm_packet() local
1693 bat_priv = netdev_priv(forw_packet->if_incoming->soft_iface); in batadv_iv_send_outstanding_bat_ogm_packet()
1695 if (atomic_read(&bat_priv->mesh_state) == BATADV_MESH_DEACTIVATING) { in batadv_iv_send_outstanding_bat_ogm_packet()
1717 &bat_priv->forw_bat_list_lock)) in batadv_iv_send_outstanding_bat_ogm_packet()
1724 struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); in batadv_iv_ogm_receive() local
1738 if (bat_priv->algo_ops->iface.enable != batadv_iv_ogm_iface_enable) in batadv_iv_ogm_receive()
1741 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_RX); in batadv_iv_ogm_receive()
1742 batadv_add_counter(bat_priv, BATADV_CNT_MGMT_RX_BYTES, in batadv_iv_ogm_receive()
1813 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_subentry() argument
1877 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_entry() argument
1905 bat_priv, if_outgoing, in batadv_iv_ogm_orig_dump_entry()
1938 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump_bucket() argument
1950 if (batadv_iv_ogm_orig_dump_entry(msg, portid, seq, bat_priv, in batadv_iv_ogm_orig_dump_bucket()
1974 struct batadv_priv *bat_priv, in batadv_iv_ogm_orig_dump() argument
1977 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_iv_ogm_orig_dump()
1989 bat_priv, if_outgoing, head, in batadv_iv_ogm_orig_dump()
2101 struct batadv_priv *bat_priv, in batadv_iv_ogm_neigh_dump_hardif() argument
2133 struct batadv_priv *bat_priv, in batadv_iv_ogm_neigh_dump() argument
2147 bat_priv, in batadv_iv_ogm_neigh_dump()
2155 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_iv_ogm_neigh_dump()
2163 bat_priv, in batadv_iv_ogm_neigh_dump()
2241 static void batadv_iv_init_sel_class(struct batadv_priv *bat_priv) in batadv_iv_init_sel_class() argument
2244 atomic_set(&bat_priv->gw.sel_class, 20); in batadv_iv_init_sel_class()
2248 batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv) in batadv_iv_gw_get_best_gw_node() argument
2260 hlist_for_each_entry_rcu(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_iv_gw_get_best_gw_node()
2276 switch (atomic_read(&bat_priv->gw.sel_class)) { in batadv_iv_gw_get_best_gw_node()
2324 static bool batadv_iv_gw_is_eligible(struct batadv_priv *bat_priv, in batadv_iv_gw_is_eligible() argument
2336 if (atomic_read(&bat_priv->gw.sel_class) <= 2) in batadv_iv_gw_is_eligible()
2371 if ((atomic_read(&bat_priv->gw.sel_class) > 3) && in batadv_iv_gw_is_eligible()
2372 (orig_tq_avg - gw_tq_avg < atomic_read(&bat_priv->gw.sel_class))) in batadv_iv_gw_is_eligible()
2375 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_gw_is_eligible()
2401 struct batadv_priv *bat_priv, in batadv_iv_gw_dump_entry() argument
2418 curr_gw = batadv_gw_get_selected_gw_node(bat_priv); in batadv_iv_gw_dump_entry()
2472 struct batadv_priv *bat_priv) in batadv_iv_gw_dump() argument
2479 spin_lock_bh(&bat_priv->gw.list_lock); in batadv_iv_gw_dump()
2480 cb->seq = bat_priv->gw.generation << 1 | 1; in batadv_iv_gw_dump()
2482 hlist_for_each_entry(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_iv_gw_dump()
2486 if (batadv_iv_gw_dump_entry(msg, portid, cb, bat_priv, in batadv_iv_gw_dump()
2495 spin_unlock_bh(&bat_priv->gw.list_lock); in batadv_iv_gw_dump()