Home
last modified time | relevance | path

Searched refs:bat_priv (Results 1 – 25 of 30) sorted by relevance

12

/linux/net/batman-adv/
H A Dmulticast.c68 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 Dgateway_client.c79 batadv_gw_get_selected_gw_node(struct batadv_priv *bat_priv) in batadv_gw_get_selected_gw_node() argument
84 gw_node = rcu_dereference(bat_priv->gw.curr_gw); in batadv_gw_get_selected_gw_node()
103 batadv_gw_get_selected_orig(struct batadv_priv *bat_priv) in batadv_gw_get_selected_orig() argument
108 gw_node = batadv_gw_get_selected_gw_node(bat_priv); in batadv_gw_get_selected_orig()
127 static void batadv_gw_select(struct batadv_priv *bat_priv, in batadv_gw_select() argument
132 spin_lock_bh(&bat_priv->gw.list_lock); in batadv_gw_select()
137 curr_gw_node = rcu_replace_pointer(bat_priv->gw.curr_gw, new_gw_node, in batadv_gw_select()
142 spin_unlock_bh(&bat_priv->gw.list_lock); in batadv_gw_select()
156 void batadv_gw_reselect(struct batadv_priv *bat_priv) in batadv_gw_reselect() argument
158 atomic_set(&bat_priv->gw.reselect, 1); in batadv_gw_reselect()
[all …]
H A Ddistributed-arp-table.c101 static void batadv_dat_start_timer(struct batadv_priv *bat_priv) in batadv_dat_start_timer() argument
103 queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, in batadv_dat_start_timer()
157 static void __batadv_dat_purge(struct batadv_priv *bat_priv, in __batadv_dat_purge() argument
166 if (!bat_priv->dat.hash) in __batadv_dat_purge()
169 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge()
170 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge()
171 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge()
198 struct batadv_priv *bat_priv; in batadv_dat_purge() local
202 bat_priv = container_of(priv_dat, struct batadv_priv, dat); in batadv_dat_purge()
204 __batadv_dat_purge(bat_priv, batadv_dat_to_purge); in batadv_dat_purge()
[all …]
H A Ddistributed-arp-table.h27 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 Dbat_v_ogm.c53 struct batadv_orig_node *batadv_v_ogm_orig_get(struct batadv_priv *bat_priv, in batadv_v_ogm_orig_get() argument
59 orig_node = batadv_orig_hash_find(bat_priv, addr); in batadv_v_ogm_orig_get()
63 orig_node = batadv_orig_node_new(bat_priv, addr); in batadv_v_ogm_orig_get()
68 hash_added = batadv_hash_add(bat_priv->orig_hash, batadv_compare_orig, in batadv_v_ogm_orig_get()
99 static void batadv_v_ogm_start_timer(struct batadv_priv *bat_priv) in batadv_v_ogm_start_timer() argument
105 if (delayed_work_pending(&bat_priv->bat_v.ogm_wq)) in batadv_v_ogm_start_timer()
108 msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; in batadv_v_ogm_start_timer()
110 queue_delayed_work(batadv_event_workqueue, &bat_priv->bat_v.ogm_wq, in batadv_v_ogm_start_timer()
122 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_ogm_send_to_if() local
129 batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_TX); in batadv_v_ogm_send_to_if()
[all …]
H A Dtvlv.c69 batadv_tvlv_handler_get(struct batadv_priv *bat_priv, u8 type, u8 version) in batadv_tvlv_handler_get() argument
75 &bat_priv->tvlv.handler_list, list) { in batadv_tvlv_handler_get()
131 batadv_tvlv_container_get(struct batadv_priv *bat_priv, u8 type, u8 version) in batadv_tvlv_container_get() argument
135 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_get()
137 hlist_for_each_entry(tvlv_tmp, &bat_priv->tvlv.container_list, list) { in batadv_tvlv_container_get()
162 static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv) in batadv_tvlv_container_list_size() argument
167 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_list_size()
169 hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) { in batadv_tvlv_container_list_size()
186 static void batadv_tvlv_container_remove(struct batadv_priv *bat_priv, in batadv_tvlv_container_remove() argument
189 lockdep_assert_held(&bat_priv->tvlv.container_list_lock); in batadv_tvlv_container_remove()
[all …]
H A Dgateway_common.c25 void batadv_gw_tvlv_container_update(struct batadv_priv *bat_priv) in batadv_gw_tvlv_container_update() argument
31 gw_mode = atomic_read(&bat_priv->gw.mode); in batadv_gw_tvlv_container_update()
36 batadv_tvlv_container_unregister(bat_priv, BATADV_TVLV_GW, 1); in batadv_gw_tvlv_container_update()
39 down = atomic_read(&bat_priv->gw.bandwidth_down); in batadv_gw_tvlv_container_update()
40 up = atomic_read(&bat_priv->gw.bandwidth_up); in batadv_gw_tvlv_container_update()
43 batadv_tvlv_container_register(bat_priv, BATADV_TVLV_GW, 1, in batadv_gw_tvlv_container_update()
57 static void batadv_gw_tvlv_ogm_handler_v1(struct batadv_priv *bat_priv, in batadv_gw_tvlv_ogm_handler_v1() argument
82 batadv_gw_node_update(bat_priv, orig, &gateway); in batadv_gw_tvlv_ogm_handler_v1()
86 atomic_read(&bat_priv->gw.mode) == BATADV_GW_MODE_CLIENT) in batadv_gw_tvlv_ogm_handler_v1()
87 batadv_gw_check_election(bat_priv, orig); in batadv_gw_tvlv_ogm_handler_v1()
[all …]
H A Dtp_meter.c215 const u8 *dst, struct batadv_priv *bat_priv, in batadv_tp_batctl_notify() argument
233 batadv_netlink_tpmeter_notify(bat_priv, dst, result, test_time, in batadv_tp_batctl_notify()
246 struct batadv_priv *bat_priv, in batadv_tp_batctl_error_notify() argument
249 batadv_tp_batctl_notify(reason, dst, bat_priv, 0, 0, cookie); in batadv_tp_batctl_error_notify()
262 static struct batadv_tp_vars *batadv_tp_list_find(struct batadv_priv *bat_priv, in batadv_tp_list_find() argument
268 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find()
301 batadv_tp_list_find_session(struct batadv_priv *bat_priv, const u8 *dst, in batadv_tp_list_find_session() argument
307 hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { in batadv_tp_list_find_session()
372 static void batadv_tp_sender_cleanup(struct batadv_priv *bat_priv, in batadv_tp_sender_cleanup() argument
377 spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); in batadv_tp_sender_cleanup()
[all …]
H A Dbridge_loop_avoidance.h36 bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb,
38 bool batadv_bla_tx(struct batadv_priv *bat_priv, struct sk_buff *skb,
45 bool batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv, u8 *orig,
47 bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv,
49 void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
53 int batadv_bla_init(struct batadv_priv *bat_priv);
54 void batadv_bla_free(struct batadv_priv *bat_priv);
56 bool batadv_bla_check_claim(struct batadv_priv *bat_priv, u8 *addr,
62 static inline bool batadv_bla_rx(struct batadv_priv *bat_priv, in batadv_bla_rx() argument
69 static inline bool batadv_bla_tx(struct batadv_priv *bat_priv, in batadv_bla_tx() argument
[all …]
H A Dmulticast.h45 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 Doriginator.c54 batadv_orig_hash_find(struct batadv_priv *bat_priv, const void *data) in batadv_orig_hash_find() argument
56 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_orig_hash_find()
218 int batadv_originator_init(struct batadv_priv *bat_priv) in batadv_originator_init() argument
220 if (bat_priv->orig_hash) in batadv_originator_init()
223 bat_priv->orig_hash = batadv_hash_new(1024); in batadv_originator_init()
225 if (!bat_priv->orig_hash) in batadv_originator_init()
228 batadv_hash_set_lock_class(bat_priv->orig_hash, in batadv_originator_init()
231 INIT_DELAYED_WORK(&bat_priv->orig_work, batadv_purge_orig); in batadv_originator_init()
233 &bat_priv->orig_work, in batadv_originator_init()
348 batadv_orig_to_router(struct batadv_priv *bat_priv, u8 *orig_addr, in batadv_orig_to_router() argument
[all …]
H A Dtranslation-table.h18 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 Dgateway_client.h18 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 Dmulticast_forw.c149 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 Dsend.h24 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 Dtvlv.h16 void batadv_tvlv_container_register(struct batadv_priv *bat_priv,
19 u16 batadv_tvlv_container_ogm_append(struct batadv_priv *bat_priv,
22 void batadv_tvlv_ogm_receive(struct batadv_priv *bat_priv,
25 void batadv_tvlv_container_unregister(struct batadv_priv *bat_priv,
28 void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
29 void (*optr)(struct batadv_priv *bat_priv,
34 int (*uptr)(struct batadv_priv *bat_priv,
38 int (*mptr)(struct batadv_priv *bat_priv,
41 void batadv_tvlv_handler_unregister(struct batadv_priv *bat_priv,
43 int batadv_tvlv_containers_process(struct batadv_priv *bat_priv,
[all …]
H A Dbat_v.c46 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_iface_activate() local
49 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_v_iface_activate()
100 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_iface_update_mac() local
103 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_v_iface_update_mac()
179 struct batadv_priv *bat_priv, in batadv_v_neigh_dump_hardif() argument
211 struct batadv_priv *bat_priv, in batadv_v_neigh_dump() argument
226 bat_priv, single_hardif, in batadv_v_neigh_dump()
231 netdev_for_each_lower_private_rcu(bat_priv->mesh_iface, hard_iface, iter) { in batadv_v_neigh_dump()
237 bat_priv, hard_iface, in batadv_v_neigh_dump()
265 struct batadv_priv *bat_priv, in batadv_v_orig_dump_subentry() argument
[all …]
H A Dbat_v_elp.c228 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_elp_wifi_neigh_probe() local
266 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_v_elp_wifi_neigh_probe()
291 struct batadv_priv *bat_priv; in batadv_v_elp_periodic_work() local
297 bat_priv = netdev_priv(hard_iface->mesh_iface); in batadv_v_elp_periodic_work()
299 if (atomic_read(&bat_priv->mesh_state) == BATADV_MESH_DEACTIVATING) in batadv_v_elp_periodic_work()
320 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_v_elp_periodic_work()
493 static void batadv_v_elp_neigh_update(struct batadv_priv *bat_priv, in batadv_v_elp_neigh_update() argument
505 orig_neigh = batadv_v_ogm_orig_get(bat_priv, elp_packet->orig); in batadv_v_elp_neigh_update()
551 struct batadv_priv *bat_priv = netdev_priv(if_incoming->mesh_iface); in batadv_v_elp_packet_recv() local
563 if (batadv_is_my_mac(bat_priv, ethhdr->h_source)) in batadv_v_elp_packet_recv()
[all …]
H A Dbat_v.h16 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 Dfragmentation.c352 struct batadv_priv *bat_priv = netdev_priv(recv_if->mesh_iface); in batadv_frag_skb_fwd() local
360 neigh_node = batadv_orig_to_router(bat_priv, packet->dest, recv_if); in batadv_frag_skb_fwd()
369 batadv_inc_counter(bat_priv, BATADV_CNT_FRAG_FWD); in batadv_frag_skb_fwd()
370 batadv_add_counter(bat_priv, BATADV_CNT_FRAG_FWD_BYTES, in batadv_frag_skb_fwd()
438 struct batadv_priv *bat_priv; in batadv_frag_send_packet() local
465 bat_priv = orig_node->bat_priv; in batadv_frag_send_packet()
466 primary_if = batadv_primary_if_get_selected(bat_priv); in batadv_frag_send_packet()
487 frag_header.seqno = htons(atomic_inc_return(&bat_priv->frag_seqno)); in batadv_frag_send_packet()
520 batadv_inc_counter(bat_priv, BATADV_CNT_FRAG_TX); in batadv_frag_send_packet()
521 batadv_add_counter(bat_priv, BATADV_CNT_FRAG_TX_BYTES, in batadv_frag_send_packet()
[all …]
H A Doriginator.h21 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 Dgateway_common.h27 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 Dtp_meter.h16 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_meter_recv(struct batadv_priv *bat_priv, struct sk_buff *skb);
H A Dbat_v_ogm.h16 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 Dbitarray.c38 struct batadv_priv *bat_priv = priv; in batadv_bit_get_packet() local
63 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_bit_get_packet()
81 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_bit_get_packet()

12