Lines Matching refs:forw_packet_aggr
630 struct batadv_forw_packet *forw_packet_aggr; in batadv_iv_ogm_aggregate_new() local
649 forw_packet_aggr = kmalloc(sizeof(*forw_packet_aggr), GFP_ATOMIC); in batadv_iv_ogm_aggregate_new()
650 if (!forw_packet_aggr) { in batadv_iv_ogm_aggregate_new()
664 forw_packet_aggr->skb = netdev_alloc_skb_ip_align(NULL, skb_size); in batadv_iv_ogm_aggregate_new()
665 if (!forw_packet_aggr->skb) { in batadv_iv_ogm_aggregate_new()
668 kfree(forw_packet_aggr); in batadv_iv_ogm_aggregate_new()
671 forw_packet_aggr->skb->priority = TC_PRIO_CONTROL; in batadv_iv_ogm_aggregate_new()
672 skb_reserve(forw_packet_aggr->skb, ETH_HLEN); in batadv_iv_ogm_aggregate_new()
674 skb_buff = skb_put(forw_packet_aggr->skb, packet_len); in batadv_iv_ogm_aggregate_new()
675 forw_packet_aggr->packet_len = packet_len; in batadv_iv_ogm_aggregate_new()
678 forw_packet_aggr->own = own_packet; in batadv_iv_ogm_aggregate_new()
679 forw_packet_aggr->if_incoming = if_incoming; in batadv_iv_ogm_aggregate_new()
680 forw_packet_aggr->if_outgoing = if_outgoing; in batadv_iv_ogm_aggregate_new()
681 forw_packet_aggr->num_packets = 0; in batadv_iv_ogm_aggregate_new()
682 forw_packet_aggr->direct_link_flags = BATADV_NO_FLAGS; in batadv_iv_ogm_aggregate_new()
683 forw_packet_aggr->send_time = send_time; in batadv_iv_ogm_aggregate_new()
687 forw_packet_aggr->direct_link_flags |= 1; in batadv_iv_ogm_aggregate_new()
691 hlist_add_head(&forw_packet_aggr->list, &bat_priv->forw_bat_list); in batadv_iv_ogm_aggregate_new()
695 INIT_DELAYED_WORK(&forw_packet_aggr->delayed_work, in batadv_iv_ogm_aggregate_new()
698 &forw_packet_aggr->delayed_work, in batadv_iv_ogm_aggregate_new()
709 static void batadv_iv_ogm_aggregate(struct batadv_forw_packet *forw_packet_aggr, in batadv_iv_ogm_aggregate() argument
716 skb_buff = skb_put(forw_packet_aggr->skb, packet_len); in batadv_iv_ogm_aggregate()
718 forw_packet_aggr->packet_len += packet_len; in batadv_iv_ogm_aggregate()
719 forw_packet_aggr->num_packets++; in batadv_iv_ogm_aggregate()
723 new_direct_link_flag = BIT(forw_packet_aggr->num_packets); in batadv_iv_ogm_aggregate()
724 forw_packet_aggr->direct_link_flags |= new_direct_link_flag; in batadv_iv_ogm_aggregate()
748 struct batadv_forw_packet *forw_packet_aggr = NULL; in batadv_iv_ogm_queue_add() local
770 forw_packet_aggr = forw_packet_pos; in batadv_iv_ogm_queue_add()
779 if (!forw_packet_aggr) { in batadv_iv_ogm_queue_add()
795 batadv_iv_ogm_aggregate(forw_packet_aggr, packet_buff, in batadv_iv_ogm_queue_add()