Lines Matching defs:bat_priv

46  * @bat_priv: the bat priv with all the soft interface information
53 static void _batadv_update_route(struct batadv_priv *bat_priv,
85 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
87 batadv_tt_global_del_orig(bat_priv, orig_node, -1,
92 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
97 batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
109 * @bat_priv: the bat priv with all the soft interface information
114 void batadv_update_route(struct batadv_priv *bat_priv,
127 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node);
136 * @bat_priv: the bat priv with all the soft interface information
149 bool batadv_window_protected(struct batadv_priv *bat_priv, s32 seq_num_diff,
162 batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
210 * @bat_priv: the bat priv with all the soft interface information
216 static int batadv_recv_my_icmp_packet(struct batadv_priv *bat_priv,
229 primary_if = batadv_primary_if_get_selected(bat_priv);
234 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig);
260 batadv_tp_meter_recv(bat_priv, skb);
278 static int batadv_recv_icmp_ttl_exceeded(struct batadv_priv *bat_priv,
295 primary_if = batadv_primary_if_get_selected(bat_priv);
300 orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->orig);
341 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
364 if (!batadv_is_my_mac(bat_priv, ethhdr->h_dest))
392 if (batadv_is_my_mac(bat_priv, icmph->dst))
393 return batadv_recv_my_icmp_packet(bat_priv, skb);
397 return batadv_recv_icmp_ttl_exceeded(bat_priv, skb);
400 orig_node = batadv_orig_hash_find(bat_priv, icmph->dst);
431 * @bat_priv: the bat priv with all the soft interface information
441 static int batadv_check_unicast_packet(struct batadv_priv *bat_priv,
461 if (!batadv_is_my_mac(bat_priv, ethhdr->h_dest))
514 * @bat_priv: the bat priv with all the soft interface information
522 batadv_find_router(struct batadv_priv *bat_priv,
526 struct batadv_algo_ops *bao = bat_priv->algo_ops;
547 if (!(recv_if == BATADV_IF_DEFAULT && atomic_read(&bat_priv->bonding)))
659 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
676 orig_node = batadv_orig_hash_find(bat_priv, unicast_packet->dest);
712 batadv_inc_counter(bat_priv, BATADV_CNT_FORWARD);
713 batadv_add_counter(bat_priv, BATADV_CNT_FORWARD_BYTES,
730 * @bat_priv: the bat priv with all the soft interface information
743 batadv_reroute_unicast_packet(struct batadv_priv *bat_priv, struct sk_buff *skb,
753 if (batadv_is_my_client(bat_priv, dst_addr, vid)) {
754 primary_if = batadv_primary_if_get_selected(bat_priv);
758 orig_ttvn = (u8)atomic_read(&bat_priv->tt.vn);
760 orig_node = batadv_transtable_search(bat_priv, NULL, dst_addr,
786 static bool batadv_check_unicast_ttvn(struct batadv_priv *bat_priv,
818 if (batadv_tt_local_client_is_roaming(bat_priv, ethhdr->h_dest, vid)) {
819 if (batadv_reroute_unicast_packet(bat_priv, skb, unicast_packet,
822 bat_priv,
838 curr_ttvn = (u8)atomic_read(&bat_priv->tt.vn);
839 if (!batadv_is_my_mac(bat_priv, unicast_packet->dest)) {
840 orig_node = batadv_orig_hash_find(bat_priv,
865 if (batadv_reroute_unicast_packet(bat_priv, skb, unicast_packet,
867 batadv_dbg_ratelimited(BATADV_DBG_TT, bat_priv,
878 if (!batadv_is_my_client(bat_priv, ethhdr->h_dest, vid))
884 primary_if = batadv_primary_if_get_selected(bat_priv);
912 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
915 check = batadv_check_unicast_packet(bat_priv, skb, hdr_size);
921 if (batadv_is_my_mac(bat_priv, unicast_packet->dest))
941 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
958 check = batadv_check_unicast_packet(bat_priv, skb, hdr_size);
964 batadv_nc_skb_store_sniffed_unicast(bat_priv, skb);
968 if (!batadv_check_unicast_ttvn(bat_priv, skb, hdr_size))
974 if (batadv_is_my_mac(bat_priv, unicast_packet->dest)) {
979 orig_node_gw = batadv_orig_hash_find(bat_priv, orig_addr_gw);
985 batadv_dbg(BATADV_DBG_BLA, bat_priv,
996 batadv_dat_inc_counter(bat_priv, subtype);
1006 orig_node = batadv_orig_hash_find(bat_priv,
1011 if (batadv_dat_snoop_incoming_arp_request(bat_priv, skb,
1014 if (batadv_dat_snoop_incoming_arp_reply(bat_priv, skb,
1018 batadv_dat_snoop_incoming_dhcp_ack(bat_priv, skb, hdr_size);
1050 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1057 if (batadv_check_unicast_packet(bat_priv, skb, hdr_size) < 0)
1076 ret = batadv_tvlv_containers_process(bat_priv, BATADV_UNICAST_TVLV,
1106 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1111 if (batadv_check_unicast_packet(bat_priv, skb,
1116 orig_node_src = batadv_orig_hash_find(bat_priv, frag_packet->orig);
1123 if (!batadv_is_my_mac(bat_priv, frag_packet->dest) &&
1131 batadv_inc_counter(bat_priv, BATADV_CNT_FRAG_RX);
1132 batadv_add_counter(bat_priv, BATADV_CNT_FRAG_RX_BYTES, skb->len);
1168 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1192 if (batadv_is_my_mac(bat_priv, ethhdr->h_source))
1198 if (batadv_is_my_mac(bat_priv, bcast_packet->orig))
1204 orig_node = batadv_orig_hash_find(bat_priv, bcast_packet->orig);
1220 if (batadv_window_protected(bat_priv, seq_diff,
1228 if (batadv_bit_get_packet(bat_priv, orig_node->bcast_bits, seq_diff, 1))
1234 if (batadv_bla_check_bcast_duplist(bat_priv, skb))
1240 ret = batadv_forw_bcast_packet(bat_priv, skb, 0, false);
1250 if (batadv_dat_snoop_incoming_arp_request(bat_priv, skb, hdr_size))
1252 if (batadv_dat_snoop_incoming_arp_reply(bat_priv, skb, hdr_size))
1255 batadv_dat_snoop_incoming_dhcp_ack(bat_priv, skb, hdr_size);
1289 struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
1296 if (batadv_check_unicast_packet(bat_priv, skb, hdr_size) < 0)
1317 ret = batadv_tvlv_containers_process(bat_priv, BATADV_MCAST, NULL, skb,
1320 batadv_inc_counter(bat_priv, BATADV_CNT_MCAST_RX);
1321 batadv_add_counter(bat_priv, BATADV_CNT_MCAST_RX_BYTES,
1328 batadv_inc_counter(bat_priv, BATADV_CNT_MCAST_RX_LOCAL);
1329 batadv_add_counter(bat_priv, BATADV_CNT_MCAST_RX_LOCAL_BYTES,
1332 batadv_interface_rx(bat_priv->soft_iface, skb, hdr_size, NULL);