Lines Matching refs:bat_priv
47 * @bat_priv: the bat priv with all the soft interface information
54 static void _batadv_update_route(struct batadv_priv *bat_priv,
86 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
88 batadv_tt_global_del_orig(bat_priv, orig_node, -1,
93 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
98 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
111 * @bat_priv: the bat priv with all the soft interface information
116 void batadv_update_route(struct batadv_priv *bat_priv,
129 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node);
139 * @bat_priv: the bat priv with all the soft interface information
152 bool batadv_window_protected(struct batadv_priv *bat_priv, s32 seq_num_diff,
165 batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
213 * @bat_priv: the bat priv with all the soft interface information
219 static int batadv_recv_my_icmp_packet(struct batadv_priv *bat_priv,
241 primary_if = batadv_primary_if_get_selected(bat_priv);
246 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig);
272 batadv_tp_meter_recv(bat_priv, skb);
292 static int batadv_recv_icmp_ttl_exceeded(struct batadv_priv *bat_priv,
309 primary_if = batadv_primary_if_get_selected(bat_priv);
314 orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->orig);
357 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
380 if (!batadv_is_my_mac(bat_priv, ethhdr->h_dest))
408 if (batadv_is_my_mac(bat_priv, icmph->dst))
409 return batadv_recv_my_icmp_packet(bat_priv, skb);
413 return batadv_recv_icmp_ttl_exceeded(bat_priv, skb);
416 orig_node = batadv_orig_hash_find(bat_priv, icmph->dst);
448 * @bat_priv: the bat priv with all the soft interface information
458 static int batadv_check_unicast_packet(struct batadv_priv *bat_priv,
478 if (!batadv_is_my_mac(bat_priv, ethhdr->h_dest))
532 * @bat_priv: the bat priv with all the soft interface information
540 batadv_find_router(struct batadv_priv *bat_priv,
544 struct batadv_algo_ops *bao = bat_priv->algo_ops;
565 if (!(recv_if == BATADV_IF_DEFAULT && atomic_read(&bat_priv->bonding)))
678 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
695 orig_node = batadv_orig_hash_find(bat_priv, unicast_packet->dest);
731 batadv_inc_counter(bat_priv, BATADV_CNT_FORWARD);
732 batadv_add_counter(bat_priv, BATADV_CNT_FORWARD_BYTES,
749 * @bat_priv: the bat priv with all the soft interface information
762 batadv_reroute_unicast_packet(struct batadv_priv *bat_priv, struct sk_buff *skb,
771 if (batadv_is_my_client(bat_priv, dst_addr, vid)) {
772 primary_if = batadv_primary_if_get_selected(bat_priv);
776 orig_ttvn = (u8)atomic_read(&bat_priv->tt.vn);
778 orig_node = batadv_transtable_search(bat_priv, NULL, dst_addr,
806 static bool batadv_check_unicast_ttvn(struct batadv_priv *bat_priv,
838 if (batadv_tt_local_client_is_roaming(bat_priv, ethhdr->h_dest, vid)) {
839 if (batadv_reroute_unicast_packet(bat_priv, skb, unicast_packet,
842 bat_priv,
858 curr_ttvn = (u8)atomic_read(&bat_priv->tt.vn);
859 if (!batadv_is_my_mac(bat_priv, unicast_packet->dest)) {
860 orig_node = batadv_orig_hash_find(bat_priv,
885 if (batadv_reroute_unicast_packet(bat_priv, skb, unicast_packet,
887 batadv_dbg_ratelimited(BATADV_DBG_TT, bat_priv,
898 if (!batadv_is_my_client(bat_priv, ethhdr->h_dest, vid))
904 primary_if = batadv_primary_if_get_selected(bat_priv);
932 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
935 check = batadv_check_unicast_packet(bat_priv, skb, hdr_size);
941 if (batadv_is_my_mac(bat_priv, unicast_packet->dest))
961 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
978 check = batadv_check_unicast_packet(bat_priv, skb, hdr_size);
984 batadv_nc_skb_store_sniffed_unicast(bat_priv, skb);
988 if (!batadv_check_unicast_ttvn(bat_priv, skb, hdr_size))
994 if (batadv_is_my_mac(bat_priv, unicast_packet->dest)) {
999 orig_node_gw = batadv_orig_hash_find(bat_priv, orig_addr_gw);
1005 batadv_dbg(BATADV_DBG_BLA, bat_priv,
1016 batadv_dat_inc_counter(bat_priv, subtype);
1026 orig_node = batadv_orig_hash_find(bat_priv,
1031 if (batadv_dat_snoop_incoming_arp_request(bat_priv, skb,
1034 if (batadv_dat_snoop_incoming_arp_reply(bat_priv, skb,
1038 batadv_dat_snoop_incoming_dhcp_ack(bat_priv, skb, hdr_size);
1071 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1078 if (batadv_check_unicast_packet(bat_priv, skb, hdr_size) < 0)
1097 ret = batadv_tvlv_containers_process(bat_priv, false, NULL,
1128 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1133 if (batadv_check_unicast_packet(bat_priv, skb,
1138 orig_node_src = batadv_orig_hash_find(bat_priv, frag_packet->orig);
1145 if (!batadv_is_my_mac(bat_priv, frag_packet->dest) &&
1153 batadv_inc_counter(bat_priv, BATADV_CNT_FRAG_RX);
1154 batadv_add_counter(bat_priv, BATADV_CNT_FRAG_RX_BYTES, skb->len);
1190 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1214 if (batadv_is_my_mac(bat_priv, ethhdr->h_source))
1220 if (batadv_is_my_mac(bat_priv, bcast_packet->orig))
1226 orig_node = batadv_orig_hash_find(bat_priv, bcast_packet->orig);
1242 if (batadv_window_protected(bat_priv, seq_diff,
1250 if (batadv_bit_get_packet(bat_priv, orig_node->bcast_bits, seq_diff, 1))
1256 if (batadv_bla_check_bcast_duplist(bat_priv, skb))
1262 batadv_add_bcast_packet_to_list(bat_priv, skb, 1, false);
1270 if (batadv_dat_snoop_incoming_arp_request(bat_priv, skb, hdr_size))
1272 if (batadv_dat_snoop_incoming_arp_reply(bat_priv, skb, hdr_size))
1275 batadv_dat_snoop_incoming_dhcp_ack(bat_priv, skb, hdr_size);