| /linux/net/batman-adv/ |
| H A D | mesh-interface.c | 88 static u64 batadv_sum_counter(struct batadv_priv *bat_priv, size_t idx) in batadv_sum_counter() argument 94 counters = per_cpu_ptr(bat_priv->bat_counters, cpu); in batadv_sum_counter() 103 struct batadv_priv *bat_priv = netdev_priv(dev); in batadv_interface_stats() local 106 stats->tx_packets = batadv_sum_counter(bat_priv, BATADV_CNT_TX); in batadv_interface_stats() 107 stats->tx_bytes = batadv_sum_counter(bat_priv, BATADV_CNT_TX_BYTES); in batadv_interface_stats() 108 stats->tx_dropped = batadv_sum_counter(bat_priv, BATADV_CNT_TX_DROPPED); in batadv_interface_stats() 109 stats->rx_packets = batadv_sum_counter(bat_priv, BATADV_CNT_RX); in batadv_interface_stats() 110 stats->rx_bytes = batadv_sum_counter(bat_priv, BATADV_CNT_RX_BYTES); in batadv_interface_stats() 116 struct batadv_priv *bat_priv = netdev_priv(dev); in batadv_interface_set_mac_addr() local 128 if (READ_ONCE(bat_priv->mesh_state) != BATADV_MESH_ACTIVE) in batadv_interface_set_mac_addr() [all …]
|
| H A D | main.c | 160 struct batadv_priv *bat_priv = netdev_priv(mesh_iface); in batadv_mesh_init() local 163 spin_lock_init(&bat_priv->forw_bat_list_lock); in batadv_mesh_init() 164 spin_lock_init(&bat_priv->forw_bcast_list_lock); in batadv_mesh_init() 165 spin_lock_init(&bat_priv->tt.changes_list_lock); in batadv_mesh_init() 166 spin_lock_init(&bat_priv->tt.req_list_lock); in batadv_mesh_init() 167 spin_lock_init(&bat_priv->tt.roam_list_lock); in batadv_mesh_init() 168 spin_lock_init(&bat_priv->tt.last_changeset_lock); in batadv_mesh_init() 169 spin_lock_init(&bat_priv->tt.commit_lock); in batadv_mesh_init() 170 spin_lock_init(&bat_priv->gw.list_lock); in batadv_mesh_init() 172 spin_lock_init(&bat_priv->mcast.mla_lock); in batadv_mesh_init() [all …]
|
| H A D | gateway_client.c | 80 batadv_gw_get_selected_gw_node(struct batadv_priv *bat_priv) in batadv_gw_get_selected_gw_node() argument 85 gw_node = rcu_dereference(bat_priv->gw.curr_gw); in batadv_gw_get_selected_gw_node() 104 batadv_gw_get_selected_orig(struct batadv_priv *bat_priv) in batadv_gw_get_selected_orig() argument 109 gw_node = batadv_gw_get_selected_gw_node(bat_priv); in batadv_gw_get_selected_orig() 128 static void batadv_gw_select(struct batadv_priv *bat_priv, in batadv_gw_select() argument 133 spin_lock_bh(&bat_priv->gw.list_lock); in batadv_gw_select() 138 curr_gw_node = rcu_replace_pointer(bat_priv->gw.curr_gw, new_gw_node, in batadv_gw_select() 143 spin_unlock_bh(&bat_priv->gw.list_lock); in batadv_gw_select() 157 void batadv_gw_reselect(struct batadv_priv *bat_priv) in batadv_gw_reselect() argument 159 atomic_set(&bat_priv->gw.reselect, 1); in batadv_gw_reselect() [all …]
|
| H A D | distributed-arp-table.h | 27 bool batadv_dat_snoop_outgoing_arp_request(struct batadv_priv *bat_priv, 29 bool batadv_dat_snoop_incoming_arp_request(struct batadv_priv *bat_priv, 31 void batadv_dat_snoop_outgoing_arp_reply(struct batadv_priv *bat_priv, 33 bool batadv_dat_snoop_incoming_arp_reply(struct batadv_priv *bat_priv, 35 void batadv_dat_snoop_outgoing_dhcp_ack(struct batadv_priv *bat_priv, 39 void batadv_dat_snoop_incoming_dhcp_ack(struct batadv_priv *bat_priv, 41 bool batadv_dat_drop_broadcast_packet(struct batadv_priv *bat_priv, 63 batadv_dat_init_own_addr(struct batadv_priv *bat_priv, in batadv_dat_init_own_addr() argument 71 bat_priv->dat.addr = (batadv_dat_addr_t)addr; in batadv_dat_init_own_addr() 74 int batadv_dat_init(struct batadv_priv *bat_priv); [all …]
|
| H A D | distributed-arp-table.c | 102 static void batadv_dat_start_timer(struct batadv_priv *bat_priv) in batadv_dat_start_timer() argument 104 queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, in batadv_dat_start_timer() 158 static void __batadv_dat_purge(struct batadv_priv *bat_priv, in __batadv_dat_purge() argument 167 if (!bat_priv->dat.hash) in __batadv_dat_purge() 170 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge() 171 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge() 172 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge() 199 struct batadv_priv *bat_priv; in batadv_dat_purge() local 203 bat_priv = container_of(priv_dat, struct batadv_priv, dat); in batadv_dat_purge() 205 __batadv_dat_purge(bat_priv, batadv_dat_to_purge); in batadv_dat_purge() [all …]
|
| H A D | routing.c | 53 static void _batadv_update_route(struct batadv_priv *bat_priv, in _batadv_update_route() argument 85 batadv_dbg(BATADV_DBG_ROUTES, bat_priv, in _batadv_update_route() 87 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in _batadv_update_route() 92 batadv_dbg(BATADV_DBG_ROUTES, bat_priv, in _batadv_update_route() 97 batadv_dbg(BATADV_DBG_ROUTES, bat_priv, in _batadv_update_route() 114 void batadv_update_route(struct batadv_priv *bat_priv, in batadv_update_route() argument 127 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node); in batadv_update_route() 149 bool batadv_window_protected(struct batadv_priv *bat_priv, s32 seq_num_diff, in batadv_window_protected() argument 162 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_window_protected() 269 static int batadv_recv_my_icmp_packet(struct batadv_priv *bat_priv, in batadv_recv_my_icmp_packet() argument [all …]
|
| H A D | multicast.h | 45 batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb, 48 int batadv_mcast_forw_send(struct batadv_priv *bat_priv, struct sk_buff *skb, 51 void batadv_mcast_init(struct batadv_priv *bat_priv); 54 struct batadv_priv *bat_priv); 58 void batadv_mcast_free(struct batadv_priv *bat_priv); 64 int batadv_mcast_forw_tracker_tvlv_handler(struct batadv_priv *bat_priv, 69 bool batadv_mcast_forw_push(struct batadv_priv *bat_priv, struct sk_buff *skb, 72 int batadv_mcast_forw_mcsend(struct batadv_priv *bat_priv, struct sk_buff *skb); 77 batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb, in batadv_mcast_forw_mode() argument 84 batadv_mcast_forw_send(struct batadv_priv *bat_priv, struct sk_buff *skb, in batadv_mcast_forw_send() argument [all …]
|
| H A D | translation-table.h | 18 int batadv_tt_init(struct batadv_priv *bat_priv); 21 u16 batadv_tt_local_remove(struct batadv_priv *bat_priv, 26 void batadv_tt_global_del_orig(struct batadv_priv *bat_priv, 30 batadv_tt_global_hash_find(struct batadv_priv *bat_priv, const u8 *addr, 33 int batadv_tt_global_hash_count(struct batadv_priv *bat_priv, 35 struct batadv_orig_node *batadv_transtable_search(struct batadv_priv *bat_priv, 38 void batadv_tt_free(struct batadv_priv *bat_priv); 39 bool batadv_is_my_client(struct batadv_priv *bat_priv, const u8 *addr, 41 bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst, 43 void batadv_tt_local_commit_changes(struct batadv_priv *bat_priv); [all …]
|
| H A D | gateway_client.h | 18 void batadv_gw_check_client_stop(struct batadv_priv *bat_priv); 19 void batadv_gw_reselect(struct batadv_priv *bat_priv); 20 void batadv_gw_election(struct batadv_priv *bat_priv); 22 batadv_gw_get_selected_orig(struct batadv_priv *bat_priv); 23 void batadv_gw_check_election(struct batadv_priv *bat_priv, 25 void batadv_gw_node_update(struct batadv_priv *bat_priv, 28 void batadv_gw_node_delete(struct batadv_priv *bat_priv, 30 void batadv_gw_node_free(struct batadv_priv *bat_priv); 33 batadv_gw_get_selected_gw_node(struct batadv_priv *bat_priv); 35 bool batadv_gw_out_of_range(struct batadv_priv *bat_priv, struct sk_buff *skb); [all …]
|
| H A D | send.h | 24 struct batadv_priv *bat_priv, 27 void batadv_forw_packet_ogmv1_queue(struct batadv_priv *bat_priv, 42 int batadv_forw_bcast_packet(struct batadv_priv *bat_priv, 46 void batadv_send_bcast_packet(struct batadv_priv *bat_priv, 51 batadv_purge_outstanding_packets(struct batadv_priv *bat_priv, 53 bool batadv_send_skb_prepare_unicast_4addr(struct batadv_priv *bat_priv, 57 int batadv_send_skb_unicast(struct batadv_priv *bat_priv, 62 int batadv_send_skb_via_tt_generic(struct batadv_priv *bat_priv, 66 int batadv_send_skb_via_gw(struct batadv_priv *bat_priv, struct sk_buff *skb, 82 static inline int batadv_send_skb_via_tt(struct batadv_priv *bat_priv, in batadv_send_skb_via_tt() argument [all …]
|
| H A D | multicast_forw.c | 149 static bool batadv_mcast_forw_push_dest(struct batadv_priv *bat_priv, in batadv_mcast_forw_push_dest() argument 162 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_mcast_forw_push_dest() 190 static int batadv_mcast_forw_push_dests_list(struct batadv_priv *bat_priv, in batadv_mcast_forw_push_dests_list() argument 205 !batadv_mcast_forw_push_dest(bat_priv, skb, vid, orig_node, in batadv_mcast_forw_push_dests_list() 230 batadv_mcast_forw_push_tt(struct batadv_priv *bat_priv, struct sk_buff *skb, in batadv_mcast_forw_push_tt() argument 242 tt_global = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_mcast_forw_push_tt() 248 if (!batadv_mcast_forw_push_dest(bat_priv, skb, vid, in batadv_mcast_forw_push_tt() 276 static bool batadv_mcast_forw_push_want_all(struct batadv_priv *bat_priv, in batadv_mcast_forw_push_want_all() argument 288 head = &bat_priv->mcast.want_all_ipv4_list; in batadv_mcast_forw_push_want_all() 293 head = &bat_priv->mcast.want_all_ipv6_list; in batadv_mcast_forw_push_want_all() [all …]
|
| H A D | bat_v.h | 16 int batadv_v_mesh_init(struct batadv_priv *bat_priv); 17 void batadv_v_mesh_free(struct batadv_priv *bat_priv); 30 static inline int batadv_v_mesh_init(struct batadv_priv *bat_priv) in batadv_v_mesh_init() argument 35 static inline void batadv_v_mesh_free(struct batadv_priv *bat_priv) in batadv_v_mesh_free() argument
|
| H A D | tp_meter.h | 16 void batadv_tp_start(struct batadv_priv *bat_priv, const u8 *dst, 18 void batadv_tp_stop(struct batadv_priv *bat_priv, const u8 *dst, 20 void batadv_tp_stop_all(struct batadv_priv *bat_priv); 21 void batadv_tp_meter_recv(struct batadv_priv *bat_priv, struct sk_buff *skb);
|
| H A D | originator.h | 21 int batadv_originator_init(struct batadv_priv *bat_priv); 22 void batadv_originator_free(struct batadv_priv *bat_priv); 23 void batadv_purge_orig_ref(struct batadv_priv *bat_priv); 25 struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, 40 batadv_orig_to_router(struct batadv_priv *bat_priv, u8 *orig_addr, 86 batadv_orig_hash_find(struct batadv_priv *bat_priv, const void *data);
|
| H A D | gateway_common.h | 27 void batadv_gw_tvlv_container_update(struct batadv_priv *bat_priv); 28 void batadv_gw_init(struct batadv_priv *bat_priv); 29 void batadv_gw_free(struct batadv_priv *bat_priv);
|
| H A D | bat_v_ogm.h | 16 int batadv_v_ogm_init(struct batadv_priv *bat_priv); 17 void batadv_v_ogm_free(struct batadv_priv *bat_priv); 21 struct batadv_orig_node *batadv_v_ogm_orig_get(struct batadv_priv *bat_priv,
|
| H A D | trace.h | 31 TP_PROTO(struct batadv_priv *bat_priv, 34 TP_ARGS(bat_priv, vaf), 37 __string(device, bat_priv->mesh_iface->name)
|
| H A D | routing.h | 18 void batadv_update_route(struct batadv_priv *bat_priv, 46 batadv_find_router(struct batadv_priv *bat_priv, 49 bool batadv_window_protected(struct batadv_priv *bat_priv, s32 seq_num_diff,
|
| H A D | log.c | 21 int batadv_debug_log(struct batadv_priv *bat_priv, const char *fmt, ...) in batadv_debug_log() argument 31 trace_batadv_dbg(bat_priv, &vaf); in batadv_debug_log()
|
| H A D | bat_algo.c | 106 int batadv_algo_select(struct batadv_priv *bat_priv, const char *name) in batadv_algo_select() argument 114 bat_priv->algo_ops = bat_algo_ops; in batadv_algo_select()
|
| H A D | bat_algo.h | 20 int batadv_algo_select(struct batadv_priv *bat_priv, const char *name);
|