| /linux/net/batman-adv/ |
| H A D | multicast.c | 68 static void batadv_mcast_start_timer(struct batadv_priv *bat_priv) in batadv_mcast_start_timer() argument 70 queue_delayed_work(batadv_event_workqueue, &bat_priv->mcast.work, in batadv_mcast_start_timer() 164 static u8 batadv_mcast_mla_rtr_flags_meshif_get(struct batadv_priv *bat_priv, in batadv_mcast_mla_rtr_flags_meshif_get() argument 167 struct net_device *dev = bridge ? bridge : bat_priv->mesh_iface; in batadv_mcast_mla_rtr_flags_meshif_get() 194 static u8 batadv_mcast_mla_rtr_flags_bridge_get(struct batadv_priv *bat_priv, in batadv_mcast_mla_rtr_flags_bridge_get() argument 197 struct net_device *dev = bat_priv->mesh_iface; in batadv_mcast_mla_rtr_flags_bridge_get() 226 static u8 batadv_mcast_mla_rtr_flags_get(struct batadv_priv *bat_priv, in batadv_mcast_mla_rtr_flags_get() argument 231 flags &= batadv_mcast_mla_rtr_flags_meshif_get(bat_priv, bridge); in batadv_mcast_mla_rtr_flags_get() 232 flags &= batadv_mcast_mla_rtr_flags_bridge_get(bat_priv, bridge); in batadv_mcast_mla_rtr_flags_get() 246 static u8 batadv_mcast_mla_forw_flags_get(struct batadv_priv *bat_priv) in batadv_mcast_mla_forw_flags_get() argument [all …]
|
| H A D | mesh-interface.c | 93 static u64 batadv_sum_counter(struct batadv_priv *bat_priv, size_t idx) in batadv_sum_counter() argument 100 counters = per_cpu_ptr(bat_priv->bat_counters, cpu); in batadv_sum_counter() 118 struct batadv_priv *bat_priv = netdev_priv(dev); in batadv_interface_stats() local 121 stats->tx_packets = batadv_sum_counter(bat_priv, BATADV_CNT_TX); in batadv_interface_stats() 122 stats->tx_bytes = batadv_sum_counter(bat_priv, BATADV_CNT_TX_BYTES); in batadv_interface_stats() 123 stats->tx_dropped = batadv_sum_counter(bat_priv, BATADV_CNT_TX_DROPPED); in batadv_interface_stats() 124 stats->rx_packets = batadv_sum_counter(bat_priv, BATADV_CNT_RX); in batadv_interface_stats() 125 stats->rx_bytes = batadv_sum_counter(bat_priv, BATADV_CNT_RX_BYTES); in batadv_interface_stats() 143 struct batadv_priv *bat_priv = netdev_priv(dev); in batadv_interface_set_mac_addr() local 155 if (READ_ONCE(bat_priv->mesh_state) != BATADV_MESH_ACTIVE) in batadv_interface_set_mac_addr() [all …]
|
| H A D | main.c | 191 struct batadv_priv *bat_priv = netdev_priv(mesh_iface); in batadv_mesh_init() local 194 spin_lock_init(&bat_priv->forw_bat_list_lock); in batadv_mesh_init() 195 spin_lock_init(&bat_priv->forw_bcast_list_lock); in batadv_mesh_init() 196 spin_lock_init(&bat_priv->tt.changes_list_lock); in batadv_mesh_init() 197 spin_lock_init(&bat_priv->tt.req_list_lock); in batadv_mesh_init() 198 spin_lock_init(&bat_priv->tt.roam_list_lock); in batadv_mesh_init() 199 spin_lock_init(&bat_priv->tt.last_changeset_lock); in batadv_mesh_init() 200 spin_lock_init(&bat_priv->tt.commit_lock); in batadv_mesh_init() 201 spin_lock_init(&bat_priv->gw.list_lock); in batadv_mesh_init() 203 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() 136 static void batadv_gw_select(struct batadv_priv *bat_priv, in batadv_gw_select() argument 141 spin_lock_bh(&bat_priv->gw.list_lock); in batadv_gw_select() 146 curr_gw_node = rcu_replace_pointer(bat_priv->gw.curr_gw, new_gw_node, in batadv_gw_select() 151 spin_unlock_bh(&bat_priv->gw.list_lock); in batadv_gw_select() 165 void batadv_gw_reselect(struct batadv_priv *bat_priv) in batadv_gw_reselect() argument 167 atomic_set(&bat_priv->gw.reselect, 1); in batadv_gw_reselect() [all …]
|
| H A D | translation-table.c | 67 static void batadv_send_roam_adv(struct batadv_priv *bat_priv, u8 *client, 73 static void batadv_tt_global_del(struct batadv_priv *bat_priv, 175 batadv_tt_local_hash_find(struct batadv_priv *bat_priv, const u8 *addr, in batadv_tt_local_hash_find() argument 181 tt_common_entry = batadv_tt_hash_find(bat_priv->tt.local_hash, addr, in batadv_tt_local_hash_find() 200 batadv_tt_global_hash_find(struct batadv_priv *bat_priv, const u8 *addr, in batadv_tt_global_hash_find() argument 206 tt_common_entry = batadv_tt_hash_find(bat_priv->tt.global_hash, addr, in batadv_tt_global_hash_find() 273 int batadv_tt_global_hash_count(struct batadv_priv *bat_priv, in batadv_tt_global_hash_count() argument 279 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_hash_count() 296 static void batadv_tt_local_size_mod(struct batadv_priv *bat_priv, in batadv_tt_local_size_mod() argument 301 vlan = batadv_meshif_vlan_get(bat_priv, vid); in batadv_tt_local_size_mod() [all …]
|
| H A D | bridge_loop_avoidance.c | 57 batadv_bla_send_announce(struct batadv_priv *bat_priv, 219 batadv_claim_hash_find(struct batadv_priv *bat_priv, in batadv_claim_hash_find() argument 222 struct batadv_hashtable *hash = bat_priv->bla.claim_hash; in batadv_claim_hash_find() 259 batadv_backbone_hash_find(struct batadv_priv *bat_priv, const u8 *addr, in batadv_backbone_hash_find() argument 262 struct batadv_hashtable *hash = bat_priv->bla.backbone_hash; in batadv_backbone_hash_find() 309 hash = backbone_gw->bat_priv->bla.claim_hash; in batadv_bla_del_backbone_claims() 337 static void batadv_bla_send_claim(struct batadv_priv *bat_priv, const u8 *mac, in batadv_bla_send_claim() argument 347 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_bla_send_claim() 351 memcpy(&local_claim_dest, &bat_priv->bla.claim_dest, in batadv_bla_send_claim() 384 batadv_dbg(BATADV_DBG_BLA, bat_priv, in batadv_bla_send_claim() [all …]
|
| H A D | distributed-arp-table.c | 168 static void batadv_dat_start_timer(struct batadv_priv *bat_priv) in batadv_dat_start_timer() argument 170 queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, in batadv_dat_start_timer() 224 static void __batadv_dat_purge(struct batadv_priv *bat_priv, in __batadv_dat_purge() argument 233 if (!bat_priv->dat.hash) in __batadv_dat_purge() 236 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge() 237 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge() 238 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge() 265 struct batadv_priv *bat_priv; in batadv_dat_purge() local 269 bat_priv = container_of(priv_dat, struct batadv_priv, dat); in batadv_dat_purge() 271 __batadv_dat_purge(bat_priv, batadv_dat_to_purge); in batadv_dat_purge() [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 | bat_v_ogm.c | 55 struct batadv_orig_node *batadv_v_ogm_orig_get(struct batadv_priv *bat_priv, in batadv_v_ogm_orig_get() argument 61 orig_node = batadv_orig_hash_find(bat_priv, addr); in batadv_v_ogm_orig_get() 65 orig_node = batadv_orig_node_new(bat_priv, addr); in batadv_v_ogm_orig_get() 70 hash_added = batadv_hash_add(bat_priv->orig_hash, batadv_compare_orig, in batadv_v_ogm_orig_get() 101 static void batadv_v_ogm_start_timer(struct batadv_priv *bat_priv) in batadv_v_ogm_start_timer() argument 108 if (delayed_work_pending(&bat_priv->bat_v.ogm_wq)) in batadv_v_ogm_start_timer() 111 msecs = READ_ONCE(bat_priv->orig_interval) - BATADV_JITTER; in batadv_v_ogm_start_timer() 113 queue_delayed_work(batadv_event_workqueue, &bat_priv->bat_v.ogm_wq, in batadv_v_ogm_start_timer() 125 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_ogm_send_to_if() local 132 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_TX); in batadv_v_ogm_send_to_if() [all …]
|
| H A D | gateway_common.c | 25 void batadv_gw_tvlv_container_update(struct batadv_priv *bat_priv) in batadv_gw_tvlv_container_update() argument 32 gw_mode = READ_ONCE(bat_priv->gw.mode); in batadv_gw_tvlv_container_update() 37 batadv_tvlv_container_unregister(bat_priv, BATADV_TVLV_GW, 1); in batadv_gw_tvlv_container_update() 40 down = READ_ONCE(bat_priv->gw.bandwidth_down); in batadv_gw_tvlv_container_update() 41 up = READ_ONCE(bat_priv->gw.bandwidth_up); in batadv_gw_tvlv_container_update() 44 batadv_tvlv_container_register(bat_priv, BATADV_TVLV_GW, 1, in batadv_gw_tvlv_container_update() 58 static void batadv_gw_tvlv_ogm_handler_v1(struct batadv_priv *bat_priv, in batadv_gw_tvlv_ogm_handler_v1() argument 84 batadv_gw_node_update(bat_priv, orig, &gateway); in batadv_gw_tvlv_ogm_handler_v1() 88 READ_ONCE(bat_priv->gw.mode) == BATADV_GW_MODE_CLIENT) in batadv_gw_tvlv_ogm_handler_v1() 89 batadv_gw_check_election(bat_priv, orig); in batadv_gw_tvlv_ogm_handler_v1() [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() 273 static int batadv_recv_my_icmp_packet(struct batadv_priv *bat_priv, in batadv_recv_my_icmp_packet() argument [all …]
|
| H A D | netlink.c | 181 struct batadv_priv *bat_priv) in batadv_netlink_mesh_fill_ap_isolation() argument 186 vlan = batadv_meshif_vlan_get(bat_priv, BATADV_NO_FLAGS); in batadv_netlink_mesh_fill_ap_isolation() 205 struct batadv_priv *bat_priv) in batadv_netlink_set_mesh_ap_isolation() argument 209 vlan = batadv_meshif_vlan_get(bat_priv, BATADV_NO_FLAGS); in batadv_netlink_set_mesh_ap_isolation() 231 struct batadv_priv *bat_priv, in batadv_netlink_mesh_fill() argument 235 struct net_device *mesh_iface = bat_priv->mesh_iface; in batadv_netlink_mesh_fill() 246 bat_priv->algo_ops->name) || in batadv_netlink_mesh_fill() 252 (u8)atomic_read(&bat_priv->tt.vn))) in batadv_netlink_mesh_fill() 257 ntohs(bat_priv->bla.claim_dest.group))) in batadv_netlink_mesh_fill() 261 if (batadv_mcast_mesh_info_put(msg, bat_priv)) in batadv_netlink_mesh_fill() [all …]
|
| H A D | tvlv.c | 73 batadv_tvlv_handler_get(struct batadv_priv *bat_priv, u8 type, u8 version) in batadv_tvlv_handler_get() argument 80 &bat_priv->tvlv.handler_list, list) { in batadv_tvlv_handler_get() 136 batadv_tvlv_container_get(struct batadv_priv *bat_priv, u8 type, u8 version) in batadv_tvlv_container_get() argument 141 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_get() 143 hlist_for_each_entry(tvlv_tmp, &bat_priv->tvlv.container_list, list) { in batadv_tvlv_container_get() 168 static size_t batadv_tvlv_container_list_size(struct batadv_priv *bat_priv) in batadv_tvlv_container_list_size() argument 173 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_list_size() 175 hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) { in batadv_tvlv_container_list_size() 192 static void batadv_tvlv_container_remove(struct batadv_priv *bat_priv, in batadv_tvlv_container_remove() argument 195 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_remove() [all …]
|
| H A D | send.c | 174 struct batadv_priv *bat_priv = orig_node->bat_priv; in batadv_send_skb_to_orig() local 179 neigh_node = batadv_find_router(bat_priv, orig_node, recv_if); in batadv_send_skb_to_orig() 188 if (READ_ONCE(bat_priv->fragmentation) && in batadv_send_skb_to_orig() 269 bool batadv_send_skb_prepare_unicast_4addr(struct batadv_priv *bat_priv, in batadv_send_skb_prepare_unicast_4addr() argument 278 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_send_skb_prepare_unicast_4addr() 318 int batadv_send_skb_unicast(struct batadv_priv *bat_priv, in batadv_send_skb_unicast() argument 338 if (!batadv_send_skb_prepare_unicast_4addr(bat_priv, skb, in batadv_send_skb_unicast() 361 if (batadv_tt_global_client_is_roaming(bat_priv, ethhdr->h_dest, vid)) in batadv_send_skb_unicast() 394 int batadv_send_skb_via_tt_generic(struct batadv_priv *bat_priv, in batadv_send_skb_via_tt_generic() argument 413 orig_node = batadv_transtable_search(bat_priv, src, dst, vid); in batadv_send_skb_via_tt_generic() [all …]
|
| H A D | tp_meter.c | 220 const u8 *dst, struct batadv_priv *bat_priv, in batadv_tp_batctl_notify() argument 238 batadv_netlink_tpmeter_notify(bat_priv, dst, result, test_time, in batadv_tp_batctl_notify() 251 struct batadv_priv *bat_priv, in batadv_tp_batctl_error_notify() argument 254 batadv_tp_batctl_notify(reason, dst, bat_priv, 0, 0, cookie); in batadv_tp_batctl_error_notify() 268 batadv_tp_list_find_sender(struct batadv_priv *bat_priv, const u8 *dst) in batadv_tp_list_find_sender() argument 274 hlist_for_each_entry_rcu(pos, &bat_priv->tp_sender_list, common.list) { in batadv_tp_list_find_sender() 300 static bool batadv_tp_list_active(struct batadv_priv *bat_priv, const u8 *dst) in batadv_tp_list_active() argument 301 __must_hold(&bat_priv->tp_list_lock) in batadv_tp_list_active() 306 hlist_for_each_entry_rcu(tp_sender, &bat_priv->tp_sender_list, common.list) { in batadv_tp_list_active() 311 hlist_for_each_entry_rcu(tp_receiver, &bat_priv->tp_receiver_list, common.list) { in batadv_tp_list_active() [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 | originator.c | 53 batadv_orig_hash_find(struct batadv_priv *bat_priv, const void *data) in batadv_orig_hash_find() argument 55 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_orig_hash_find() 219 int batadv_originator_init(struct batadv_priv *bat_priv) in batadv_originator_init() argument 221 if (bat_priv->orig_hash) in batadv_originator_init() 224 bat_priv->orig_hash = batadv_hash_new(1024); in batadv_originator_init() 226 if (!bat_priv->orig_hash) in batadv_originator_init() 229 batadv_hash_set_lock_class(bat_priv->orig_hash, in batadv_originator_init() 232 INIT_DELAYED_WORK(&bat_priv->orig_work, batadv_purge_orig); in batadv_originator_init() 234 &bat_priv->orig_work, in batadv_originator_init() 349 batadv_orig_to_router(struct batadv_priv *bat_priv, u8 *orig_addr, in batadv_orig_to_router() argument [all …]
|
| H A D | bat_iv_ogm.c | 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() 325 batadv_iv_ogm_emit_send_time(const struct batadv_priv *bat_priv) in batadv_iv_ogm_emit_send_time() argument 329 msecs = READ_ONCE(bat_priv->orig_interval) - BATADV_JITTER; in batadv_iv_ogm_emit_send_time() 353 static u8 batadv_hop_penalty(u8 tq, const struct batadv_priv *bat_priv) in batadv_hop_penalty() argument 355 int hop_penalty = READ_ONCE(bat_priv->hop_penalty); in batadv_hop_penalty() 410 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_iv_ogm_send_to_if() local 443 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_iv_ogm_send_to_if() [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 239 tt_global = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_mcast_forw_push_tt() 245 if (!batadv_mcast_forw_push_dest(bat_priv, skb, vid, in batadv_mcast_forw_push_tt() 273 static bool batadv_mcast_forw_push_want_all(struct batadv_priv *bat_priv, in batadv_mcast_forw_push_want_all() argument 285 head = &bat_priv->mcast.want_all_ipv4_list; in batadv_mcast_forw_push_want_all() 290 head = &bat_priv->mcast.want_all_ipv6_list; in batadv_mcast_forw_push_want_all() [all …]
|
| H A D | log.h | 19 int batadv_debug_log_setup(struct batadv_priv *bat_priv); 20 void batadv_debug_log_cleanup(struct batadv_priv *bat_priv); 24 static inline int batadv_debug_log_setup(struct batadv_priv *bat_priv) in batadv_debug_log_setup() argument 29 static inline void batadv_debug_log_cleanup(struct batadv_priv *bat_priv) in batadv_debug_log_cleanup() argument 65 int batadv_debug_log(struct batadv_priv *bat_priv, const char *fmt, ...) 76 #define _batadv_dbg(type, bat_priv, ratelimited, fmt, arg...) \ argument 78 struct batadv_priv *__batpriv = (bat_priv); \ 87 struct batadv_priv *bat_priv __always_unused, in _batadv_dbg() 100 #define batadv_dbg(type, bat_priv, arg...) \ argument 101 _batadv_dbg(type, bat_priv, 0, ## arg) [all …]
|
| H A D | hard-interface.c | 518 static void batadv_primary_if_update_addr(struct batadv_priv *bat_priv, in batadv_primary_if_update_addr() argument 523 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_primary_if_update_addr() 527 batadv_dat_init_own_addr(bat_priv, primary_if); in batadv_primary_if_update_addr() 528 batadv_bla_update_orig_address(bat_priv, primary_if, oldif); in batadv_primary_if_update_addr() 542 static void batadv_primary_if_select(struct batadv_priv *bat_priv, in batadv_primary_if_select() argument 552 curr_hard_iface = rcu_replace_pointer(bat_priv->primary_if, in batadv_primary_if_select() 558 bat_priv->algo_ops->iface.primary_set(new_hard_iface); in batadv_primary_if_select() 559 batadv_primary_if_update_addr(bat_priv, curr_hard_iface); in batadv_primary_if_select() 655 struct batadv_priv *bat_priv = netdev_priv(mesh_iface); in batadv_hardif_min_mtu() local 670 if (READ_ONCE(bat_priv->fragmentation) == 0) in batadv_hardif_min_mtu() [all …]
|
| H A D | bat_v.c | 53 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_iface_activate() local 56 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_v_iface_activate() 126 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_iface_update_mac() local 129 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_v_iface_update_mac() 210 struct batadv_priv *bat_priv, in batadv_v_neigh_dump_hardif() argument 242 struct batadv_priv *bat_priv, in batadv_v_neigh_dump() argument 257 bat_priv, single_hardif, in batadv_v_neigh_dump() 262 netdev_for_each_lower_private_rcu(bat_priv->mesh_iface, hard_iface, iter) { in batadv_v_neigh_dump() 268 bat_priv, hard_iface, in batadv_v_neigh_dump() 296 struct batadv_priv *bat_priv, in batadv_v_orig_dump_subentry() argument [all …]
|