forw_packet       333 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet,
forw_packet       349 net/batman-adv/bat_iv_ogm.c 	packet_pos = forw_packet->skb->data;
forw_packet       353 net/batman-adv/bat_iv_ogm.c 	while (batadv_iv_ogm_aggr_packet(buff_pos, forw_packet->packet_len,
forw_packet       358 net/batman-adv/bat_iv_ogm.c 		if (forw_packet->direct_link_flags & BIT(packet_num) &&
forw_packet       359 net/batman-adv/bat_iv_ogm.c 		    forw_packet->if_incoming == hard_iface)
forw_packet       364 net/batman-adv/bat_iv_ogm.c 		if (packet_num > 0 || !forw_packet->own)
forw_packet       383 net/batman-adv/bat_iv_ogm.c 		packet_pos = forw_packet->skb->data + buff_pos;
forw_packet       388 net/batman-adv/bat_iv_ogm.c 	skb = skb_clone(forw_packet->skb, GFP_ATOMIC);
forw_packet       398 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_emit(struct batadv_forw_packet *forw_packet)
forw_packet       402 net/batman-adv/bat_iv_ogm.c 	if (!forw_packet->if_incoming) {
forw_packet       407 net/batman-adv/bat_iv_ogm.c 	soft_iface = forw_packet->if_incoming->soft_iface;
forw_packet       409 net/batman-adv/bat_iv_ogm.c 	if (WARN_ON(!forw_packet->if_outgoing))
forw_packet       412 net/batman-adv/bat_iv_ogm.c 	if (WARN_ON(forw_packet->if_outgoing->soft_iface != soft_iface))
forw_packet       415 net/batman-adv/bat_iv_ogm.c 	if (forw_packet->if_incoming->if_status != BATADV_IF_ACTIVE)
forw_packet       419 net/batman-adv/bat_iv_ogm.c 	batadv_iv_ogm_send_to_if(forw_packet, forw_packet->if_outgoing);
forw_packet       443 net/batman-adv/bat_iv_ogm.c 			    const struct batadv_forw_packet *forw_packet)
forw_packet       446 net/batman-adv/bat_iv_ogm.c 	int aggregated_bytes = forw_packet->packet_len + packet_len;
forw_packet       451 net/batman-adv/bat_iv_ogm.c 	batadv_ogm_packet = (struct batadv_ogm_packet *)forw_packet->skb->data;
forw_packet       463 net/batman-adv/bat_iv_ogm.c 	if (!time_before(send_time, forw_packet->send_time) ||
forw_packet       464 net/batman-adv/bat_iv_ogm.c 	    !time_after_eq(aggregation_end_time, forw_packet->send_time))
forw_packet       471 net/batman-adv/bat_iv_ogm.c 	if (forw_packet->if_outgoing != if_outgoing)
forw_packet       495 net/batman-adv/bat_iv_ogm.c 	    (!forw_packet->own ||
forw_packet       496 net/batman-adv/bat_iv_ogm.c 	     forw_packet->if_incoming == primary_if)) {
forw_packet       506 net/batman-adv/bat_iv_ogm.c 	    forw_packet->if_incoming == if_incoming &&
forw_packet       513 net/batman-adv/bat_iv_ogm.c 	     (forw_packet->own &&
forw_packet       514 net/batman-adv/bat_iv_ogm.c 	      forw_packet->if_incoming != primary_if))) {
forw_packet      1696 net/batman-adv/bat_iv_ogm.c 	struct batadv_forw_packet *forw_packet;
forw_packet      1701 net/batman-adv/bat_iv_ogm.c 	forw_packet = container_of(delayed_work, struct batadv_forw_packet,
forw_packet      1703 net/batman-adv/bat_iv_ogm.c 	bat_priv = netdev_priv(forw_packet->if_incoming->soft_iface);
forw_packet      1710 net/batman-adv/bat_iv_ogm.c 	batadv_iv_ogm_emit(forw_packet);
forw_packet      1720 net/batman-adv/bat_iv_ogm.c 	if (forw_packet->own &&
forw_packet      1721 net/batman-adv/bat_iv_ogm.c 	    forw_packet->if_incoming == forw_packet->if_outgoing)
forw_packet      1722 net/batman-adv/bat_iv_ogm.c 		batadv_iv_ogm_schedule(forw_packet->if_incoming);
forw_packet      1726 net/batman-adv/bat_iv_ogm.c 	if (batadv_forw_packet_steal(forw_packet,
forw_packet      1728 net/batman-adv/bat_iv_ogm.c 		batadv_forw_packet_free(forw_packet, dropped);
forw_packet      1848 net/batman-adv/distributed-arp-table.c 				      struct batadv_forw_packet *forw_packet)
forw_packet      1863 net/batman-adv/distributed-arp-table.c 	if (batadv_forw_packet_is_rebroadcast(forw_packet))
forw_packet      1866 net/batman-adv/distributed-arp-table.c 	vid = batadv_dat_get_vid(forw_packet->skb, &hdr_size);
forw_packet      1868 net/batman-adv/distributed-arp-table.c 	type = batadv_arp_get_type(bat_priv, forw_packet->skb, hdr_size);
forw_packet      1872 net/batman-adv/distributed-arp-table.c 	ip_dst = batadv_arp_ip_dst(forw_packet->skb, hdr_size);
forw_packet        43 net/batman-adv/distributed-arp-table.h 				      struct batadv_forw_packet *forw_packet);
forw_packet       151 net/batman-adv/distributed-arp-table.h 				 struct batadv_forw_packet *forw_packet)
forw_packet       469 net/batman-adv/send.c void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet,
forw_packet       473 net/batman-adv/send.c 		kfree_skb(forw_packet->skb);
forw_packet       475 net/batman-adv/send.c 		consume_skb(forw_packet->skb);
forw_packet       477 net/batman-adv/send.c 	if (forw_packet->if_incoming)
forw_packet       478 net/batman-adv/send.c 		batadv_hardif_put(forw_packet->if_incoming);
forw_packet       479 net/batman-adv/send.c 	if (forw_packet->if_outgoing)
forw_packet       480 net/batman-adv/send.c 		batadv_hardif_put(forw_packet->if_outgoing);
forw_packet       481 net/batman-adv/send.c 	if (forw_packet->queue_left)
forw_packet       482 net/batman-adv/send.c 		atomic_inc(forw_packet->queue_left);
forw_packet       483 net/batman-adv/send.c 	kfree(forw_packet);
forw_packet       507 net/batman-adv/send.c 	struct batadv_forw_packet *forw_packet;
forw_packet       525 net/batman-adv/send.c 	forw_packet = kmalloc(sizeof(*forw_packet), GFP_ATOMIC);
forw_packet       526 net/batman-adv/send.c 	if (!forw_packet)
forw_packet       535 net/batman-adv/send.c 	INIT_HLIST_NODE(&forw_packet->list);
forw_packet       536 net/batman-adv/send.c 	INIT_HLIST_NODE(&forw_packet->cleanup_list);
forw_packet       537 net/batman-adv/send.c 	forw_packet->skb = skb;
forw_packet       538 net/batman-adv/send.c 	forw_packet->queue_left = queue_left;
forw_packet       539 net/batman-adv/send.c 	forw_packet->if_incoming = if_incoming;
forw_packet       540 net/batman-adv/send.c 	forw_packet->if_outgoing = if_outgoing;
forw_packet       541 net/batman-adv/send.c 	forw_packet->num_packets = 0;
forw_packet       543 net/batman-adv/send.c 	return forw_packet;
forw_packet       562 net/batman-adv/send.c batadv_forw_packet_was_stolen(struct batadv_forw_packet *forw_packet)
forw_packet       564 net/batman-adv/send.c 	return !hlist_unhashed(&forw_packet->cleanup_list);
forw_packet       579 net/batman-adv/send.c bool batadv_forw_packet_steal(struct batadv_forw_packet *forw_packet,
forw_packet       584 net/batman-adv/send.c 	if (batadv_forw_packet_was_stolen(forw_packet)) {
forw_packet       589 net/batman-adv/send.c 	hlist_del_init(&forw_packet->list);
forw_packet       592 net/batman-adv/send.c 	hlist_add_fake(&forw_packet->cleanup_list);
forw_packet       616 net/batman-adv/send.c 	struct batadv_forw_packet *forw_packet;
forw_packet       619 net/batman-adv/send.c 	hlist_for_each_entry_safe(forw_packet, safe_tmp_node,
forw_packet       625 net/batman-adv/send.c 		    forw_packet->if_incoming != hard_iface &&
forw_packet       626 net/batman-adv/send.c 		    forw_packet->if_outgoing != hard_iface)
forw_packet       629 net/batman-adv/send.c 		hlist_del(&forw_packet->list);
forw_packet       630 net/batman-adv/send.c 		hlist_add_head(&forw_packet->cleanup_list, cleanup_list);
forw_packet       646 net/batman-adv/send.c 	struct batadv_forw_packet *forw_packet;
forw_packet       649 net/batman-adv/send.c 	hlist_for_each_entry_safe(forw_packet, safe_tmp_node, head,
forw_packet       651 net/batman-adv/send.c 		cancel_delayed_work_sync(&forw_packet->delayed_work);
forw_packet       653 net/batman-adv/send.c 		hlist_del(&forw_packet->cleanup_list);
forw_packet       654 net/batman-adv/send.c 		batadv_forw_packet_free(forw_packet, true);
forw_packet       675 net/batman-adv/send.c static void batadv_forw_packet_queue(struct batadv_forw_packet *forw_packet,
forw_packet       682 net/batman-adv/send.c 	if (batadv_forw_packet_was_stolen(forw_packet)) {
forw_packet       686 net/batman-adv/send.c 		WARN_ONCE(hlist_fake(&forw_packet->cleanup_list),
forw_packet       693 net/batman-adv/send.c 	hlist_del_init(&forw_packet->list);
forw_packet       694 net/batman-adv/send.c 	hlist_add_head(&forw_packet->list, head);
forw_packet       697 net/batman-adv/send.c 			   &forw_packet->delayed_work,
forw_packet       714 net/batman-adv/send.c 			       struct batadv_forw_packet *forw_packet,
forw_packet       717 net/batman-adv/send.c 	batadv_forw_packet_queue(forw_packet, &bat_priv->forw_bcast_list_lock,
forw_packet       732 net/batman-adv/send.c 				    struct batadv_forw_packet *forw_packet,
forw_packet       735 net/batman-adv/send.c 	batadv_forw_packet_queue(forw_packet, &bat_priv->forw_bat_list_lock,
forw_packet       760 net/batman-adv/send.c 	struct batadv_forw_packet *forw_packet;
forw_packet       774 net/batman-adv/send.c 	forw_packet = batadv_forw_packet_alloc(primary_if, NULL,
forw_packet       778 net/batman-adv/send.c 	if (!forw_packet)
forw_packet       785 net/batman-adv/send.c 	forw_packet->own = own_packet;
forw_packet       787 net/batman-adv/send.c 	INIT_DELAYED_WORK(&forw_packet->delayed_work,
forw_packet       790 net/batman-adv/send.c 	batadv_forw_packet_bcast_queue(bat_priv, forw_packet, jiffies + delay);
forw_packet       814 net/batman-adv/send.c batadv_forw_packet_bcasts_left(struct batadv_forw_packet *forw_packet,
forw_packet       824 net/batman-adv/send.c 	return BATADV_SKB_CB(forw_packet->skb)->num_bcasts < max;
forw_packet       833 net/batman-adv/send.c batadv_forw_packet_bcasts_inc(struct batadv_forw_packet *forw_packet)
forw_packet       835 net/batman-adv/send.c 	BATADV_SKB_CB(forw_packet->skb)->num_bcasts++;
forw_packet       844 net/batman-adv/send.c bool batadv_forw_packet_is_rebroadcast(struct batadv_forw_packet *forw_packet)
forw_packet       846 net/batman-adv/send.c 	return BATADV_SKB_CB(forw_packet->skb)->num_bcasts > 0;
forw_packet       854 net/batman-adv/send.c 	struct batadv_forw_packet *forw_packet;
forw_packet       866 net/batman-adv/send.c 	forw_packet = container_of(delayed_work, struct batadv_forw_packet,
forw_packet       868 net/batman-adv/send.c 	soft_iface = forw_packet->if_incoming->soft_iface;
forw_packet       876 net/batman-adv/send.c 	if (batadv_dat_drop_broadcast_packet(bat_priv, forw_packet)) {
forw_packet       881 net/batman-adv/send.c 	bcast_packet = (struct batadv_bcast_packet *)forw_packet->skb->data;
forw_packet       889 net/batman-adv/send.c 		if (!batadv_forw_packet_bcasts_left(forw_packet, hard_iface))
forw_packet       892 net/batman-adv/send.c 		if (forw_packet->own) {
forw_packet       895 net/batman-adv/send.c 			neigh_addr = eth_hdr(forw_packet->skb)->h_source;
forw_packet       939 net/batman-adv/send.c 		skb1 = skb_clone(forw_packet->skb, GFP_ATOMIC);
forw_packet       947 net/batman-adv/send.c 	batadv_forw_packet_bcasts_inc(forw_packet);
forw_packet       950 net/batman-adv/send.c 	if (batadv_forw_packet_bcasts_left(forw_packet, NULL)) {
forw_packet       951 net/batman-adv/send.c 		batadv_forw_packet_bcast_queue(bat_priv, forw_packet,
forw_packet       958 net/batman-adv/send.c 	if (batadv_forw_packet_steal(forw_packet,
forw_packet       960 net/batman-adv/send.c 		batadv_forw_packet_free(forw_packet, dropped);
forw_packet        18 net/batman-adv/send.h void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet,
forw_packet        28 net/batman-adv/send.h 				    struct batadv_forw_packet *forw_packet,
forw_packet        30 net/batman-adv/send.h bool batadv_forw_packet_is_rebroadcast(struct batadv_forw_packet *forw_packet);